home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
bbs
/
pcsuni1.zip
/
LOPBK505.ZIP
/
LOOPBACK.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1997-03-25
|
71KB
|
3,871 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN011
Boolean BOOLEAN012
Boolean BOOLEAN013
Boolean BOOLEAN014
Boolean BOOLEAN015
Boolean BOOLEAN016
Boolean BOOLEAN017
Boolean BOOLEAN018
Boolean BOOLEAN019
Boolean BOOLEAN020
Boolean BOOLEAN021
Boolean BOOLEAN022
Boolean BOOLEAN023
Boolean TBOOLEAN024(4)
Boolean TBOOLEAN025(3)
Boolean BOOLEAN026
Boolean BOOLEAN027
Boolean BOOLEAN028
Boolean BOOLEAN029
Boolean BOOLEAN030
Boolean BOOLEAN031
Boolean BOOLEAN032
Boolean BOOLEAN033
Boolean BOOLEAN034
Boolean BOOLEAN035
Boolean BOOLEAN036
Boolean BOOLEAN037
Boolean BOOLEAN038
Boolean BOOLEAN039
Boolean BOOLEAN040
Boolean BOOLEAN041
Date DATE002
Date DATE003
Date TDATE004(5)
Date DATE005
Date DATE006
Date DATE007
Date DATE008
Date DATE009
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer TINTEGER019(99)
Real REAL001
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String TSTRING015(4)
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String TSTRING028(6)
String STRING029
String TSTRING030(11)
String STRING031
String STRING032
String STRING033
String STRING034
Time TIME001
Time TTIME002(5)
Time TIME003
Time TIME004
Time TIME005
Byte BYTE001
Byte BYTE002
Byte BYTE003
Byte BYTE004
Byte BYTE005
Byte BYTE006
Byte BYTE007
Byte BYTE008
Byte BYTE009
Byte BYTE010
Byte BYTE011
Byte BYTE012
Byte BYTE013
Byte BYTE014
Byte BYTE015
Byte BYTE016
Byte BYTE017
Byte TBYTE018(1)
Byte BYTE019
Byte BYTE020
Byte TBYTE021(5)
Byte BYTE022
Byte BYTE023
Byte BYTE024
Word WORD001
Word WORD002
Word WORD003
Word WORD004
Word WORD005
Word WORD006
Word WORD007
Word WORD008
Word WORD009
Word WORD010
INTEGER006 = 2 + 4 + 256 + 128 + 8 + 0
BOOLEAN015 = 0
STRING034 = PPEPath() + "LBKBACK.XXX"
GetUser
BOOLEAN001 = 0
BOOLEAN002 = 0
STRING029 = ReadLine(PCBDat(), 53)
STRING024 = Strip(Strip(Strip(Strip(Strip(U_HVPhone, " "), "("), ")"), "-"), "+")
STRING025 = Strip(Strip(Strip(Strip(Strip(U_BDPhone, " "), ")"), "("), "-"), "+")
DATE009 = 0
BOOLEAN008 = 0
GetToken STRING008
If (Strip(Upper(STRING008), " ") == "CBONLY") Then
BOOLEAN008 = 1
ElseIf (Mid(Strip(Upper(STRING008), " "), 1, 6) == "/FILE=") Then
STRING034 = Mid(STRING008, 7, Len(STRING008) - 6)
Endif
If (Exist(PPEPath() + "UNIVERSL.KEY")) Gosub LABEL097
If (Exist(PPEPath() + "UNI.KEY")) Gosub LABEL097
If (Exist(PPEPath() + "LBKBTXT" + LangExt())) Goto LABEL003
If (Exist(PPEPath() + "LBKBTXT")) Goto LABEL001
PrintLn "@X0CLOOPBACK FATAL ERROR: LBKBTXT" + LangExt() + " not found!"
Log "LOOPBACK FATAL ERROR: LBKBTXT" + LangExt() + " not found!", 0
PrintLn
Wait
Goto LABEL131
Goto LABEL002
:LABEL001
FOpen 5, PPEPath() + "LBKBTXT", 0, 0
If (Ferr(5)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText "LBKBTXT"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
PrintLn
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " LBKBTXT", 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 5
Else
:LABEL002
Goto LABEL004
:LABEL003
FOpen 5, PPEPath() + "LBKBTXT" + LangExt(), 0, 0
If (Ferr(5)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText "LBKBTXT" + LangExt()
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
PrintLn
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " LBKBTXT" + LangExt() , 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 5
Else
:LABEL004
WORD004 = 1
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 60
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
Gosub LABEL125
If (BOOLEAN035 && BOOLEAN008) Then
PrintLn
PrintLn "@X0CSorry, call-back only mode is not available..."
PrintLn
Log "LOOPBACK: Call-back only mode disabled...", 0
Wait
Else
Gosub LABEL071
RdUNet PcbNode()
If (BOOLEAN005) Then
WrUNet PcbNode(), "B", UN_Name(), "LoopBack v5.05 ", "LoopBack Initializing...", ""
Else
WrUNet PcbNode(), UN_Stat(), UN_Name(), "LoopBack v5.05 ", "LoopBack Initializing...", ""
Endif
RdUNet PcbNode()
AdjTime WORD008
BYTE019 = 1
Gosub LABEL111
If (BOOLEAN022) Then
PrintLn
WORD004 = 58
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 59
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
Else
Gosub LABEL093
Gosub LABEL095
Gosub LABEL097
If (BOOLEAN023) Gosub LABEL114
:LABEL005
If (BOOLEAN001) Goto LABEL015
STRING008 = "C"
If (BOOLEAN032) Goto LABEL006
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "LoopBack Main Menu", ""
DispFile PPEPath() + "LBKWC", 2 + 1 + 4
WORD004 = 15
Gosub LABEL127
BOOLEAN011 = 0
InputStr STRING032, STRING008, 0, 1, "RrCcGgLlHhTt", 2 + 4 + 256
Goto LABEL007
:LABEL006
STRING008 = "C"
BOOLEAN032 = 0
:LABEL007
Select Case (Upper(STRING008))
Case "R"
BOOLEAN011 = 0
If (TBOOLEAN025(1)) Then
BOOLEAN001 = 1
Goto LABEL131
Else
WORD004 = 54
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
BOOLEAN001 = 0
Endif
STRING008 = "R"
Case "H"
BOOLEAN001 = 0
BOOLEAN011 = 0
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Viewing Help File...", ""
DispFile TSTRING030(7), 1 + 2 + 4
STRING008 = "H"
Case "T"
BOOLEAN001 = 0
BOOLEAN011 = 0
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Running Tutorial...", ""
Gosub LABEL133
STRING008 = "T"
Case "G"
BOOLEAN011 = 0
If (TBOOLEAN025(0)) Then
BOOLEAN001 = 1
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Goodbye in LoopBack...", ""
Bye
Else
BOOLEAN001 = 0
WORD004 = 54
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Endif
STRING008 = "G"
Case "L"
BOOLEAN001 = 0
BOOLEAN011 = 0
If (BOOLEAN031) Goto LABEL008
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Viewing Information...", ""
Gosub LABEL075
Goto LABEL009
:LABEL008
WORD004 = 54
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
:LABEL009
STRING008 = "L"
Case "C"
BOOLEAN001 = 0
BOOLEAN011 = 1
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Selecting Number...", ""
Gosub LABEL076
STRING008 = "C"
End Select
If (BOOLEAN011) Then
Cls
DispFile PPEPath() + "SCDISP", 1 + 4
WORD004 = 2
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032 + " "
KbdChkOff
Gosub LABEL081
Gosub LABEL082
If (BOOLEAN014) Then
WORD004 = 32
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 35
Gosub LABEL127
If (BOOLEAN027) Log STRING010 + "-" + STRING011 + "-" + STRING023 + " " + STRING032, 0
If (BOOLEAN030) Then
MPrintLn
Color 15
MPrint "Please wait for 5 seconds"
SPrintLn Chr(27) + +"[2J"
SPrintLn
SPrintLn " ┌───────────────────────────────────────────────────┐"
SPrintLn " │ │"
SPrint " │ "
Color 12
SPrint "ATTENTION SYSOP "
Color 15
SPrintLn "│"
SPrintLn " │ │"
SPrint " │ "
Color 10
SPrint "The user online has entered a number "
Color 15
SPrintLn "│"
SPrint " │ "
Color 10
SPrint "that was found in the bad numbers database! "
Color 15
SPrintLn "│"
SPrintLn " │ │"
SPrintLn " └───────────────────────────────────────────────────┘"
SPrintLn
INTEGER003 = Time()
While (Time() - INTEGER003 <= 6) Do
Sound 700
Delay 2
Sound 300
Delay 2
EndWhile
Sound 0
MPrintLn
Goto LABEL010
Endif
Delay 15
:LABEL010
WORD004 = 31
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BOOLEAN006) Then
Gosub LABEL132
Bye
Goto LABEL011
Endif
Goto LABEL131
Endif
:LABEL011
PrintLn
Gosub LABEL085
WORD004 = 70
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BOOLEAN018 && !TBOOLEAN025(2)) Then
If (TBOOLEAN025(3)) Then
WORD004 = 3
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
OpText STRING031
WORD004 = 55
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
OpText String(DATE003)
WORD004 = 56
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
OpText String(TIME001)
WORD004 = 57
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Newline
WORD004 = 31
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Newline
Wait
Goto LABEL012
Endif
WORD004 = 3
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
PrintLn
WORD004 = 31
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Newline
Wait
:LABEL012
Goto LABEL131
Endif
If (BOOLEAN017 && BOOLEAN012) Then
BYTE019 = 2
BOOLEAN022 = 0
Gosub LABEL111
If (BOOLEAN022) Then
WORD004 = 48
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 28
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (!OnLocal() || BOOLEAN004) Then
WORD004 = 21
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BYTE007 <> 0) U_Sec = BYTE007
If (BYTE008 <> 0) U_ExpSec = BYTE008
If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
PutUser
Endif
Delay 15
Goto LABEL131
Endif
If (BOOLEAN014) Then
OpText String(BYTE007)
WORD004 = 4
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (!OnLocal() || BOOLEAN004) Then
WORD004 = 21
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BYTE007 <> 0) U_Sec = BYTE007
If (BYTE008 <> 0) U_ExpSec = BYTE008
If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
PutUser
Endif
Delay 15
Goto LABEL131
Endif
Else
If (BOOLEAN014) Goto LABEL013
BYTE019 = 2
BOOLEAN022 = 0
Gosub LABEL111
If (BOOLEAN022) Then
OpText String(BYTE007)
WORD004 = 48
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 28
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (!OnLocal() || BOOLEAN004) Then
WORD004 = 21
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BYTE007 <> 0) U_Sec = BYTE007
If (BYTE008 <> 0) U_ExpSec = BYTE008
If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
PutUser
Endif
Delay 15
Goto LABEL131
Endif
Goto LABEL014
:LABEL013
If (BOOLEAN014) Then
OpText String(BYTE007)
WORD004 = 4
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 5
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (!OnLocal() || BOOLEAN004) Then
WORD004 = 21
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BYTE007 <> 0) U_Sec = BYTE007
If (BYTE008 <> 0) U_ExpSec = BYTE008
If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
PutUser
Endif
PrintLn
Wait
Goto LABEL131
Endif
Endif
:LABEL014
Else
Goto LABEL005
:LABEL015
Goto LABEL131
Endif
Color 7
If (BOOLEAN012 && BOOLEAN017) Then
OpText STRING021 + "-" + STRING006 + "-" + STRING007
Else
OpText STRING010 + "-" + STRING011 + "-" + STRING023
Endif
DispFile PPEPath() + "LBKCAL", 1 + 4
WORD004 = 36
Gosub LABEL127
Delay 50
If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
If (BOOLEAN012 && BOOLEAN017) Then
STRING008 = "(" + STRING022 + ") " + STRING021 + "-" + STRING006 + "-" + STRING007
Else
STRING008 = "(" + STRING022 + ") " + STRING010 + "-" + STRING011 + "-" + STRING023
Endif
WrUNet PcbNode(), UN_Stat(), UN_Name(), "Undergoing callback...", STRING008, ""
Gosub LABEL128
BOOLEAN020 = 0
BYTE004 = 0
If (BOOLEAN034) Then
If (Exist(PPEPath() + "LBKTRACE.LOG")) Then
FAppend 1, PPEPath() + "LBKTRACE.LOG", 1, 2
FPutLn 1, "----------------------------------------------------------------------------"
FPutLn 1, "Logged entry on " + String(Date()) + " at " + String(Time())
Goto LABEL016
Endif
FCreate 1, PPEPath() + "LBKTRACE.LOG", 1, 2
FPutLn 1, "LoopBack v5.05 Modem Tracing Log"
FPutLn 1, "Created on " + String(Date()) + " at " + String(Time())
FPutLn 1, "----------------------------------------------------------------------------"
FPutLn 1
FPutLn 1, "Logged entry on " + String(Date()) + " at " + String(Time())
Endif
:LABEL016
If (OnLocal()) Goto LABEL029
CdChkOff
While (!BOOLEAN020 && (BYTE004 < BYTE003)) Do
KeyFlush
Color 7
DtrOff
BOOLEAN002 = 0
INTEGER006 = 0
SPrint "
1H
"
SPrint "Yes"
Color 7
While (!BOOLEAN002 && (INTEGER006 < BYTE012)) Do
Inc INTEGER006
INTEGER010 = 0
While (INTEGER010 <= WORD003) Do
Inc INTEGER010
Delay 1
If (CDOn()) Then
BOOLEAN002 = 0
Continue
Endif
BOOLEAN002 = 1
INTEGER010 = WORD003 + 1
EndWhile
EndWhile
Delay 65
If (BYTE004 >= 1) Delay 30
SPrint "
1H
"
SPrint "No "
If (BOOLEAN002) Goto LABEL017
SPrint "
15H
"
SPrint "Hangup failed... Dropping carrier... "
Delay 4
Gosub LABEL132
Bye
:LABEL017
Delay 7
SPrint "
64H
"
SPrint "NONE "
SPrint "
64H
"
SPrint "NONE "
SPrint "
15H
"
DtrOn
KeyFlush
BOOLEAN019 = 0
If ((STRING026 <> "") && (STRING026 <> "NONE")) Then
SPrint "Initializing modem... "
Delay 4
STRING026 = Trim(Upper(STRING026), " ")
SendModem STRING026 + Chr(13)
SPrint "
1H
"
SPrint "Yes"
STRING008 = ""
INTEGER006 = 0
While ((Len(STRING008) < 2) && (INTEGER006 <= 100)) Do
STRING008 = STRING008 + Chr(MGetByte())
STRING008 = Strip(Strip(Strip(STRING008, Chr(10)), Chr(13)), " ")
Delay 1
Inc INTEGER006
EndWhile
If (Mid(STRING008, 1, 2) == "OK") Then
BOOLEAN019 = 1
Goto LABEL018
Endif
BOOLEAN019 = 0
:LABEL018
SPrint "
1H
"
SPrint "No "
If (BOOLEAN019) Goto LABEL019
SPrint "
15H
"
SPrint "Error occurred during initialization... Halting... "
WORD004 = 37
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
Delay 10
KeyFlush
Gosub LABEL132
Bye
:LABEL019
SPrint Chr(27) + "
15H
"
Delay 5
KeyFlush
Delay 5
Endif
STRING008 = ""
For INTEGER006 = 0 To 5
If (TBYTE021(INTEGER006) == 1) Then
STRING008 = STRING008 + STRING018
Continue
Endif
If (TBYTE021(INTEGER006) == 2) Then
STRING008 = STRING008 + STRING027
Continue
Endif
If (TBYTE021(INTEGER006) == 3) Then
If (BOOLEAN017 && BOOLEAN012) Then
STRING008 = STRING008 + STRING021
Goto LABEL020
Endif
STRING008 = STRING008 + STRING010
:LABEL020
Continue
Endif
If (TBYTE021(INTEGER006) == 4) Then
If (BOOLEAN017 && BOOLEAN012) Then
STRING008 = STRING008 + STRING006
Goto LABEL021
Endif
STRING008 = STRING008 + STRING011
:LABEL021
Continue
Endif
If (TBYTE021(INTEGER006) == 5) Then
If (BOOLEAN017 && BOOLEAN012) Then
STRING008 = STRING008 + STRING007
Goto LABEL022
Endif
STRING008 = STRING008 + STRING023
:LABEL022
Continue
Endif
If (TBYTE021(INTEGER006) == 6) Then
STRING008 = STRING008 + STRING019
Endif
Next
STRING008 = Upper(Strip(STRING008, " "))
If (STRING008 == "") Then
SPrint "
40H
"
SPrint "Dialing template does not contain dialing info! "
Delay 10
Log "LoopBack could not dial! No info defined!", 0
Goto LABEL132
Bye
Endif
If (BYTE004 == 0) Then
SPrint Left("Dialing " + STRING008 + Space(55), 55)
Delay 9
WORD004 = 63
Gosub LABEL127
Log STRING032 + String(Time()), 0
Delay 5
Endif
Inc BYTE004
If (BYTE004 > 1) Then
SPrint "
15H
"
SPrint Left("Redialing " + STRING008 + Space(55), 55)
Delay 9
SPrint "
40H
"
SPrint "Try #" + String(BYTE004) + " "
WORD004 = 38
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
Delay 4
Endif
WORD004 = 49
Gosub LABEL127
Log STRING032 + Upper(STRING020) + STRING008, 0
Delay 9
KeyFlush
SendModem Upper(STRING020) + STRING008 + Chr(13)
Delay 9
WORD001 = 0
SPrint "
1H
"
SPrint "Yes"
Delay 54
SPrint "
1H
"
SPrint "No "
SPrint "
15H
"
SPrint "Waiting for connection... Countdown: "
SPrint "53H
"
SPrint String(WORD002)
STRING009 = ""
STRING012 = ""
While (WORD001 <= WORD002) Do
SPrint "
"
STRING008 = STRING008 + Chr(MGetByte())
STRING008 = Upper(Trim(STRING008, " "))
STRING012 = KInkey()
If (STRING012 == Chr(27)) Then
SaveScrn
SPrint "
15H
"
SPrint "(L)ockout caller, (E)xit LoopBack, (C)ancel operation? "
STRING012 = ""
While (STRING012 == "") Do
STRING012 = Upper(KInkey())
If (STRING012 == "L") Then
U_Sec = 0
Color DefColor()
Cls
PutUser
Gosub LABEL132
Bye
Continue
Endif
If (STRING012 == "E") Then
Gosub LABEL132
Bye
Continue
Endif
If (STRING012 == "C") Then
RestScrn
KbdFlush
SPrint "
15H
"
SPrint "Waiting for connection... Countdown: "
Continue
Endif
STRING012 = ""
EndWhile
STRING012 = ""
Endif
SPrint "53H"
SPrint String(WORD002 - WORD001)
INTEGER007 = Len(String(WORD002)) - Len(String(WORD002 - WORD001))
SPrint Space(INTEGER007)
STRING008 = Strip(Strip(Strip(STRING008, Chr(10)), Chr(7)), Chr(0))
If ((Len(STRING008) > 3) && (Mid(STRING008, Len(STRING008), 1) == Chr(13))) Then
If (BOOLEAN034) FPutLn 1, "Modem Result Before Format = (" + STRING008 + ")"
STRING008 = Strip(STRING008, Chr(13))
STRING009 = STRING009 + STRING008
STRING008 = Strip(STRING008, " ")
If (BOOLEAN034) FPutLn 1, "Modem Result After Format = (" + STRING008 + ")"
SPrint "
15H
"
If (InStr(STRING008, "BUSY")) Then
SPrint "Number is Busy... "
KeyFlush
Delay 4
BOOLEAN020 = 0
WORD001 = WORD002 + 1
If (BOOLEAN034) FPutLn 1, "Busy number..."
Goto LABEL028
Endif
If (InStr(STRING008, "RING")) Then
STRING008 = ""
Continue
If (BOOLEAN034) FPutLn 1, "Ring or Ringing..."
Goto LABEL028
Endif
If (InStr(STRING008, "NODIALTONE")) Then
SPrint "No Dialtone was Detected... "
KeyFlush
Delay 4
BOOLEAN020 = 0
WORD001 = WORD002 + 1
If (BOOLEAN034) FPutLn 1, "No dialtone..."
Goto LABEL028
Endif
If (InStr(STRING008, "NOCARRIER")) Then
SPrint "No carrier detected... "
KeyFlush
Delay 4
BOOLEAN020 = 0
WORD001 = WORD002 + 1
If (BOOLEAN034) FPutLn 1, "No carrier..."
Goto LABEL028
Endif
If (InStr(STRING008, "CONN")) Then
WORD001 = 0
BOOLEAN026 = 0
SPrint "Link established... Pausing "
Delay 5
If (BOOLEAN034) Then
FPutLn 1, "Connected..."
FPutLn 1, "Bytes left in input buffer : ", InBytes()
FPutLn 1, "Bytes left in output buffer: ", OutBytes()
Endif
If (InBytes() > 0) Then
STRING008 = ""
While (InBytes() > 0) Do
If (InBytes() >= 10) Then
SPrint "
15H
"
SPrint "Clearing input buffer... "
SPrint "
42H
"
SPrint String(InBytes()) + " bytes pending"
Endif
STRING008 = STRING008 + MGetByte()
EndWhile
Endif
If (BOOLEAN034) FPutLn 1, "Buffer data: (" + STRING008 + ")"
FClose 1
SPrint "
64H
"
SPrint Left(Trim(STRING029, " ") + Space(8), 8)
SPrint "
64H
"
SPrint Left(String(Carrier()) + Space(8), 8)
WrUNet PcbNode(), UN_Stat(), UN_Name(), "Undergoing verification...", "CONNECT : " + Trim(STRING029, " ") + " CARRIER : " + String(Carrier()), ""
:LABEL023
If (BOOLEAN026) Goto LABEL025
SPrint "44H"
SPrint String(WORD005 - WORD001)
INTEGER007 = Len(String(WORD005)) - Len(String(WORD005 - WORD001))
SPrint Space(INTEGER007)
If (WORD001 >= WORD005) Then
BOOLEAN026 = 1
Goto LABEL024
Endif
BOOLEAN026 = 0
:LABEL024
Delay 1
Inc WORD001
Goto LABEL023
:LABEL025
WORD004 = 39
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
SPrint "
1H
"
SPrint "Yes"
Delay 40
If (Carrier() < 4800) Delay 30
SPrint "
1H
"
SPrint "No "
BOOLEAN020 = 1
If (BOOLEAN008) Goto LABEL026
Gosub LABEL064
CdChkOn
KbdChkOn
Gosub LABEL065
Gosub LABEL032
Goto LABEL131
Goto LABEL027
:LABEL026
Gosub LABEL113
CdChkOn
KbdChkOn
Gosub LABEL032
Goto LABEL131
:LABEL027
Goto LABEL028
Endif
STRING008 = ""
Endif
:LABEL028
Delay 1
Inc WORD001
EndWhile
EndWhile
If (!BOOLEAN020 && (BYTE004 >= BYTE003)) Then
Gosub LABEL132
Bye
Endif
Goto LABEL031
:LABEL029
SPrint "
15H
"
SPrint "Local caller detected... Press any key to continue "
While (KInkey() == "") Do
EndWhile
If (BOOLEAN008) Goto LABEL030
Gosub LABEL064
CdChkOn
KbdChkOn
Gosub LABEL065
Gosub LABEL032
Goto LABEL131
Goto LABEL031
:LABEL030
Gosub LABEL113
CdChkOn
KbdChkOn
Goto LABEL131
:LABEL031
Goto LABEL131
:LABEL032
If ((BYTE020 <> 0) || (Trim(TSTRING030(11), " ") <> "")) Then
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Executing external extension...", ""
WORD004 = 67
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BYTE020 == 1) Then
SaveScrn
Call TSTRING030(11)
RestScrn
Goto LABEL033
Endif
If (BYTE020 == 2) Then
WrUSys
Shell 1, INTEGER006, TSTRING030(11), ""
RdUSys
If (Exist(PPEPath() + "USERS.SYS")) Delete PPEPath() + "USERS.SYS"
Endif
:LABEL033
WORD004 = 68
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + TSTRING030(11) , 0
Endif
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Upgrading user...", ""
If (EvtTimeAdj()) Goto LABEL034
If (BOOLEAN016) Then
AdjTime INTEGER005
Else
AdjTime INTEGER005 - MinLeft()
Endif
Goto LABEL035
:LABEL034
WORD004 = 40
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 34
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
:LABEL035
If (BOOLEAN008) Return
If (!OnLocal() || BOOLEAN004) Then
STRING031 = Upper(U_Name())
DATE003 = Date()
TIME001 = Time()
If (Exist(PPEPath() + "LBKSTATS.DAT")) Then
FOpen 1, PPEPath() + "LBKSTATS.DAT", 2, 2
If (Ferr(1)) Then
BOOLEAN019 = 1
Goto LABEL036
Endif
BOOLEAN019 = 0
:LABEL036
If (BOOLEAN019) Then
OpText "LBKSTATS.DAT"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " LBKSTATS.DAT", 0
WORD004 = 10
Gosub LABEL127
If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
Goto LABEL037
Endif
Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
:LABEL037
FClose 1
Return
Endif
FSeek 1, 47, 0
FRead 1, INTEGER006, 4
Inc INTEGER006
FSeek 1, -4, 1
FWrite 1, INTEGER006, 4
FSeek 1, 39, 1
FRead 1, STRING008, 25
FRead 1, DATE005, 2
FRead 1, TIME003, 4
For INTEGER006 = 1 To 4
FSeek 1, -62, 1
FWrite 1, STRING008, 25
FWrite 1, DATE005, 2
FWrite 1, TIME003, 4
FSeek 1, 31, 1
FRead 1, STRING008, 25
FRead 1, DATE005, 2
FRead 1, TIME003, 4
Next
FSeek 1, -62, 1
FWrite 1, STRING008, 25
FWrite 1, DATE005, 2
FWrite 1, TIME003, 4
FWrite 1, STRING031, 25
FWrite 1, DATE003, 2
FWrite 1, TIME001, 4
Goto LABEL040
Endif
FCreate 1, PPEPath() + "LBKSTATS.DAT", 2, 2
If (Ferr(1)) Then
BOOLEAN019 = 1
Goto LABEL038
Endif
BOOLEAN019 = 0
:LABEL038
If (BOOLEAN019) Then
OpText "LBKSTATS.DAT"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " LBKSTATS.DAT", 0
WORD004 = 10
Gosub LABEL127
If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
Goto LABEL039
Endif
Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
:LABEL039
FClose 1
Return
Endif
FSeek 1, 0, 0
FWrite 1, " LoopBack v5.05 Stat Control File " + Chr(13) + Chr(10) + Chr(32) + Chr(26) + Chr(0), 47
FWrite 1, 1, 4
FWrite 1, 0, 4
FWrite 1, 0, 4
For INTEGER006 = 1 To 5
FWrite 1, "N/A", 25
FWrite 1, 0, 2
FWrite 1, 0, 4
Next
FWrite 1, Upper(U_Name()), 25
FWrite 1, Date(), 2
FWrite 1, Time(), 4
FWrite 1, Space(20), 20
:LABEL040
FClose 1
If (Exist(TSTRING030(0))) Then
INTEGER006 = (FileInf(TSTRING030(0), 4) - 37) / 59
BOOLEAN026 = 1
Goto LABEL041
Endif
INTEGER006 = 0
BOOLEAN026 = 0
:LABEL041
FOpen 1, TSTRING030(0), 1, 2
If (Ferr(1)) Then
BOOLEAN019 = 1
Goto LABEL042
Endif
BOOLEAN019 = 0
:LABEL042
If (BOOLEAN019) Then
OpText TSTRING030(0)
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + TSTRING030(0) , 0
WORD004 = 10
Gosub LABEL127
If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
Goto LABEL043
Endif
Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
:LABEL043
FClose 1
Return
Endif
If (Exist(PPEPath() + "TRASH.IDX")) Then
FOpen 2, PPEPath() + "TRASH.IDX", 1, 2
If (Ferr(2)) Then
BOOLEAN019 = 1
Goto LABEL044
Endif
BOOLEAN019 = 0
:LABEL044
If (BOOLEAN019) Then
OpText PPEPath() + "TRASH.IDX"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + PPEPath() + "TRASH.IDX", 0
WORD004 = 10
Gosub LABEL127
If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
Goto LABEL045
Endif
Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
:LABEL045
FClose 1
FClose 2
Return
Endif
FSeek 2, 0, 2
Goto LABEL048
Endif
FCreate 2, PPEPath() + "TRASH.IDX", 1, 2
If (Ferr(2)) Then
BOOLEAN019 = 1
Goto LABEL046
Endif
BOOLEAN019 = 0
:LABEL046
If (BOOLEAN019) Then
OpText PPEPath() + "TRASH.IDX"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + PPEPath() + "TRASH.IDX", 0
WORD004 = 10
Gosub LABEL127
If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
Goto LABEL047
Endif
Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
:LABEL047
FClose 1
FClose 2
Return
Endif
FSeek 2, 0, 0
FWrite 2, " LoopBack 5.05 Trash File Index " + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
:LABEL048
If (BOOLEAN026) Then
FSeek 1, 0, 2
Goto LABEL049
Endif
FSeek 1, 0, 0
FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
:LABEL049
FWrite 1, 0, 1
Inc INTEGER006
If (BOOLEAN017 && BOOLEAN012) Then
FWrite 1, 1, 1
FWrite 1, STRING021, 3
FWrite 1, STRING006, 4
FWrite 1, STRING007, 8
STRING008 = Upper(U_Name() + Space(25 - Len(U_Name())))
FWrite 1, STRING008, 25
FWrite 1, Date(), 2
FWrite 1, Time(), 4
INTEGER003 = S2I(STRING021, 10) + S2I(STRING006, 10) + S2I(STRING007, 10)
Goto LABEL050
Endif
FWrite 1, 0, 1
FWrite 1, STRING010, 3
FWrite 1, STRING011, 4
FWrite 1, STRING023, 8
STRING008 = Upper(U_Name())
STRING008 = STRING008 + Space(25 - Len(U_Name()))
FWrite 1, STRING008, 25
FWrite 1, Date(), 2
FWrite 1, Time(), 4
INTEGER003 = S2I(STRING010, 10) + S2I(STRING011, 10) + S2I(STRING023, 10)
:LABEL050
FWrite 2, INTEGER006, 4
FWrite 2, INTEGER003, 4
FWrite 1, Space(11), 11
FClose 1
FClose 2
WORD004 = 7
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BYTE001 <> 0) U_Sec = BYTE001
If ((DATE002 <> 0) || ((DATE002 == 0) && BOOLEAN041)) U_ExpDate = DATE002
If (BYTE002 <> 0) U_ExpSec = BYTE002
If (BOOLEAN007) Then
If (BOOLEAN017 && BOOLEAN012) Then
U_BDPhone = STRING021 + STRING006 + STRING007
Goto LABEL051
Endif
U_BDPhone = STRING010 + "-" + STRING011 + "-" + STRING023
Endif
:LABEL051
If ((BYTE011 == 1) || (BYTE011 == 3)) Then
If (TBYTE018(0) == 1) Then
U_Cmnt1 = String(Date()) + " " + String(Time()) + " LoopBk v5.05 "
Goto LABEL052
Endif
If (TBYTE018(0) == 2) Then
U_Cmnt2 = String(Date()) + " " + String(Time()) + " LoopBk v5.05 "
Goto LABEL052
Endif
If (TBYTE018(0) == 10) Then
If (Psa(6)) U_Notes(0) = String(Date()) + " " + String(Time()) + " LoopBk v5.05 "
Goto LABEL052
Endif
If (TBYTE018(0) == 20) Then
If (Psa(6)) U_Notes(1) = String(Date()) + " " + String(Time()) + " LoopBk v5.05 "
Goto LABEL052
Endif
If (TBYTE018(0) == 30) Then
If (Psa(6)) U_Notes(2) = String(Date()) + " " + String(Time()) + " LoopBk v5.05 "
Goto LABEL052
Endif
If (TBYTE018(0) == 40) Then
If (Psa(6)) U_Notes(3) = String(Date()) + " " + String(Time()) + " LoopBk v5.05 "
Goto LABEL052
Endif
If (TBYTE018(0) == 50) Then
If (Psa(6)) U_Notes(4) = String(Date()) + " " + String(Time()) + " LoopBk v5.05 "
Endif
Endif
:LABEL052
If ((BYTE011 == 2) || (BYTE011 == 3)) Then
If (BOOLEAN017 && BOOLEAN012) Then
STRING008 = STRING021 + "-" + STRING006 + "-" + STRING007 + " LoopBk v5.05 "
Goto LABEL053
Endif
STRING008 = "(" + STRING010 + ")" + " " + STRING011 + "-" + STRING023 + " LoopBk v5.05 "
:LABEL053
If (TBYTE018(1) == 1) Then
U_Cmnt1 = STRING008
Goto LABEL054
Endif
If (TBYTE018(1) == 2) Then
U_Cmnt2 = STRING008
Goto LABEL054
Endif
If (TBYTE018(1) == 10) Then
If (Psa(6)) U_Notes(0) = STRING008
Goto LABEL054
Endif
If (TBYTE018(1) == 20) Then
If (Psa(6)) U_Notes(1) = STRING008
Goto LABEL054
Endif
If (TBYTE018(1) == 30) Then
If (Psa(6)) U_Notes(2) = STRING008
Goto LABEL054
Endif
If (TBYTE018(1) == 40) Then
If (Psa(6)) U_Notes(3) = STRING008
Goto LABEL054
Endif
If (TBYTE018(1) == 50) Then
If (Psa(6)) U_Notes(4) = STRING008
Endif
Endif
:LABEL054
PutUser
If (BYTE009 == 1) Then
FCreate 1, TempPath() + "LBK" + String(PcbNode()) + ".WRK", 1, 3
FPutLn 1, " @X0B" + U_Name() + " @X07 was verified on @X0C" + String(Date()) + " @X07at@X0C " + String(Time())
FPutLn 1, "@X07You may wish to give this user a personal greeting... His/Her new"
If (BYTE001 <> 0) Then
STRING008 = String(BYTE001)
Goto LABEL055
Endif
STRING008 = "N/A"
:LABEL055
FPutLn 1, "security level is @X09" + STRING008 + "@X07."
FPutLn 1
FPutLn 1, "Also, here are the user's address & phone numbers:"
FPutLn 1
If (Psa(3)) Goto LABEL056
FPutLn 1, "@X09Address PSA not installed..."
FPutLn 1
Goto LABEL057
:LABEL056
FPutLn 1, "@X07Address Line 1: @X09" + U_Addr(0)
FPutLn 1, "@X07Address Line 2: @X09" + U_Addr(1)
FPutLn 1, "@X07City: @X09" + U_Addr(2) + " @X07State: @X09" + U_Addr(3) + " @X07Zip: @X09" + U_Addr(4)
FPutLn 1, "@X07Country: @X09" + U_Addr(5)
FPutLn 1
:LABEL057
FPutLn 1, "@X07VOICE phone: @X0E" + U_HVPhone
FPutLn 1, "@X07DATA phone : @X0E" + U_BDPhone
FPutLn 1
FPutLn 1, "@X0CThank you for using LoopBack v5.05!"
FPutLn 1
FPutLn 1, "@X0A---"
FPut 1, " # LoopBack v5.05 " + String(FileInf(PPEPath() + PPEName() + ".PPE", 2))
FPutLn 1, " " + String(FileInf(PPEPath() + PPEName() + ".PPE", 3))
FPutLn 1, " # @BOARDNAME@"
FClose 1
Message 0, "SYSOP", U_Name(), "USER VERIFIED SUCCESSFULLY", "R", Date() + 5, 0, 0, TempPath() + "LBK" + String(PcbNode()) + ".WRK"
Delete TempPath() + "LBK" + String(PcbNode()) + ".WRK"
Goto LABEL058
Endif
If (BYTE009 == 2) Then
If ((TSTRING030(4) <> "") && (TSTRING030(4) <> "NONE")) Message 0, "SYSOP", U_Name() , "USER VERIFIED SUCCESSFULLY", "R", Date() + 5, 0, 0, TSTRING030(4)
Endif
:LABEL058
If (BYTE010 == 1) Then
FCreate 1, TempPath() + "LBKU" + String(PcbNode()) + ".WRK", 1, 3
FPutLn 1, " Thanks for calling @FIRST@!"
FPutLn 1, "We hope you find your stay here enjoyable and we hope you call back"
FPutLn 1, "frequently! Your first time on here was on @X0B@LOGDATE@ @X07at@X0B @LOGTIME@@X07."
FPutLn 1
FPutLn 1, "@X0A---"
FPut 1, " # LoopBack v5.05 " + String(FileInf(PPEPath() + PPEName() + ".PPE", 2))
FPutLn 1, " " + String(FileInf(PPEPath() + PPEName() + ".PPE", 3))
FPutLn 1, " # @BOARDNAME@"
FClose 1
Message 0, U_Name(), "SYSOP", "WELCOME NEW USER", "R", Date() + 5, 0, 0, TempPath() + "LBKU" + String(PcbNode()) + ".WRK"
Delete TempPath() + "LBKU" + String(PcbNode()) + ".WRK"
Goto LABEL059
Endif
If (BYTE010 == 2) Then
If ((TSTRING030(5) <> "") && (TSTRING030(5) <> "NONE")) Message 0, U_Name() , "SYSOP", "WELCOME NEW USER", "R", Date() + 5, 0, 0, TSTRING030(5)
Endif
:LABEL059
If (EvtTimeAdj()) Goto LABEL061
If (BOOLEAN016) Then
AdjTime INTEGER005
Goto LABEL060
Endif
AdjTime INTEGER005 - MinLeft()
:LABEL060
Goto LABEL062
:LABEL061
WORD004 = 40
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 34
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
:LABEL062
AdjDBytes INTEGER015
AdjTBytes INTEGER016
AdjTFiles WORD009
WORD004 = 29
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If (BOOLEAN013) Then
WORD004 = 42
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
WORD004 = 30
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Delay 15
Gosub LABEL132
Bye
Goto LABEL063
Endif
If ((TSTRING030(10) <> "") && (TSTRING030(10) <> "NONE")) Then
OpText FileInf(TSTRING030(10), 8) + "." + FileInf(TSTRING030(10), 9)
WORD004 = 33
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Newlines 2
Flag TSTRING030(10)
WORD004 = 41
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + FileInf(TSTRING030(10), 8) + "." + FileInf(TSTRING030(10), 9) , 0
Delay 15
If (BOOLEAN029) Download ""
Endif
WORD004 = 31
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Delay 5
Endif
:LABEL063
Return
:LABEL064
Delay 18
Color 7
Cls
PrintLn "@X0F @X10┌──────────────────────────────────────@X19┐@X07"
PrintLn "@X0F @X10│ @X1ALoopBack v5.05 @X19│@X07"
PrintLn "@X0F @X10│ @X1FCopyright (c)1996 by PCS @X19│@X07"
PrintLn "@X0F @X10└@X19──────────────────────────────────────┘@X07"
PrintLn
Print "@X0C@BOARDNAME:80C@"
PrintLn
PrintLn "@X0C @X40┌───────────────────────────────────────────────────────────────────────@X4C┐@X07"
Print "@X0F @X40│ @X4FName : @X4E"
If (TBOOLEAN024(0)) Then
Print "N/A" + Space(24)
Else
Print "@REAL:27@"
Endif
Print "@X4FFrom : @X4E"
If (TBOOLEAN024(3)) Then
Print "N/A" + Space(26)
Else
Print "@CITY:29@"
Endif
PrintLn "@X4C│@X07"
PrintLn "@X0F @X40│@X4B───────────────────────────────────────────────────────────────────────@X4C│@X07"
Print "@X0F @X40│ @X4FCurrent Sec. Level : @X4E@SECURITY:11@"
Print "@X4FUpgraded Security Level : @X4E"
If (BYTE001 <> 0) Then
STRING008 = String(BYTE001)
Else
STRING008 = "N/A"
Endif
Print Left(STRING008 + Space(7), 7)
PrintLn "@X4C│@X07"
PrintLn "@X0F @X40│@X4B───────────────────────────────────────────────────────────────────────@X4C│@X07"
Print "@X0F @X40│ @X4FNew Expiration Date : @X4E"
If (((DATE002 == 0) && BOOLEAN041) || (DATE002 <> 0)) Then
Print Left(String(DATE002) + Space(11), 11)
Else
Print "N/A" + Space(8)
Endif
Print "@X4FNew Expired Security Level : @X4E"
If (BYTE002 <> 0) Then
STRING008 = String(BYTE002)
Else
STRING008 = "N/A"
Endif
Print Left(STRING008 + Space(7), 7)
PrintLn "@X4C│@X07"
PrintLn "@X0F @X40│@X4B───────────────────────────────────────────────────────────────────────@X4C│@X07"
Print "@X0F @X40│ @X4FNumber Connect Tries : @X4E"
Print Left(String(BYTE004) + Space(8), 8)
Print "@X4F Hangup After Verification : @X4E"
If (BOOLEAN013) Then
Print "Yes "
Else
Print "No "
Endif
PrintLn "@X4C│@X07"
PrintLn "@X0F @X40│@X4B───────────────────────────────────────────────────────────────────────@X4C│@X07"
PrintLn "@X0F @X40└@X4C───────────────────────────────────────────────────────────────────────┘@X07"
PrintLn
While (OutBytes() > 0) Do
EndWhile
Return
:LABEL065
Delay 15
INTEGER006 = 0
STRING008 = ""
BOOLEAN019 = 0
If (TBOOLEAN024(0)) Then
STRING009 = YesChar()
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Verifying name...", ""
While (!BOOLEAN019 && (INTEGER006 < BYTE005)) Do
If (STRING009 == YesChar()) Inc INTEGER006
WORD004 = 11
Gosub LABEL127
KeyFlush
InputText STRING032, STRING008, 0, 25
STRING008 = Upper(Trim(STRING008, " "))
If (TBOOLEAN024(4) && (STRING008 <> "")) Then
If (U_Name() == STRING008) Then
STRING009 = YesChar()
PrintLn
PrintLn "@X07" + U_Name()
PrintLn U_City
PrintLn
KeyFlush
PromptStr 598, STRING009, 1, " ", 2 + 4 + 16384
If (Upper(STRING009) <> YesChar()) Then
PrintLn
Continue
Endif
Goto LABEL066
Endif
If (U_Alias == STRING008) Then
STRING009 = YesChar()
PrintLn
PrintLn "@X07" + U_Alias
PrintLn U_City
PrintLn
KeyFlush
PromptStr 598, STRING009, 1, " ", 2 + 4 + 16384
If (Upper(STRING009) <> YesChar()) Then
PrintLn
Continue
Endif
Endif
Endif
:LABEL066
If ((U_Name() == STRING008) && (STRING008 <> "")) Then
PrintLn
BOOLEAN019 = 1
Continue
Endif
If ((U_Alias == STRING008) && (STRING008 <> "")) Then
PrintLn
BOOLEAN019 = 1
Continue
Endif
OpText String(BYTE005 - INTEGER006)
WORD004 = 12
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
PrintLn
BOOLEAN019 = 0
EndWhile
If (BOOLEAN019) Goto LABEL067
WORD004 = 44
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 13
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Gosub LABEL132
Bye
Endif
:LABEL067
BOOLEAN019 = 0
INTEGER006 = 0
If (TBOOLEAN024(1)) Then
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Verifying password...", ""
While (!BOOLEAN019 && (INTEGER006 < BYTE006)) Do
Inc INTEGER006
STRING008 = ""
KeyFlush
PromptStr 148, STRING008, 12, Mask_Pwd(), 1 + 2 + 4 + 256 + 4096
If (Upper(U_Pwd) == Upper(STRING008)) Then
PrintLn
BOOLEAN019 = 1
Continue
Endif
OpText String(BYTE006 - INTEGER006)
WORD004 = 14
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
PrintLn
BOOLEAN019 = 0
EndWhile
If (BOOLEAN019) Goto LABEL068
WORD004 = 45
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 13
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Gosub LABEL132
Bye
Endif
:LABEL068
BOOLEAN019 = 0
INTEGER006 = 0
If (TBOOLEAN024(2) && Psa(2)) Then
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Verifying verification string...", ""
While (!BOOLEAN019 && (INTEGER006 < BYTE013)) Do
Inc INTEGER006
STRING008 = ""
KeyFlush
PromptStr 707, STRING008, 25, Mask_Ascii(), 2 + 4 + 4096
If (Upper(U_Ver) == Upper(STRING008)) Then
PrintLn
BOOLEAN019 = 1
Continue
Endif
OpText String(BYTE013 - INTEGER006)
WORD004 = 52
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
PrintLn
BOOLEAN019 = 0
EndWhile
If (BOOLEAN019) Goto LABEL069
WORD004 = 24
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 13
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Gosub LABEL132
Bye
Endif
:LABEL069
BOOLEAN019 = 0
INTEGER006 = 0
If (TBOOLEAN024(3)) Then
WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Verifying city...", ""
While (!BOOLEAN019 && (INTEGER006 < BYTE015)) Do
Inc INTEGER006
STRING008 = ""
KeyFlush
PromptStr 265, STRING008, 24, Mask_Ascii(), 2 + 4 + 4096
If (Upper(U_City) == Upper(STRING008)) Then
PrintLn
BOOLEAN019 = 1
Continue
Endif
OpText String(BYTE015 - INTEGER006)
WORD004 = 53
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
PrintLn
BOOLEAN019 = 0
EndWhile
If (BOOLEAN019) Goto LABEL070
WORD004 = 51
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 13
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Gosub LABEL132
Bye
Endif
:LABEL070
BOOLEAN019 = 1
Return
:LABEL071
If (Exist(STRING034)) Goto LABEL072
PrintLn
PrintLn "@X0CLOOPBACK FATAL ERROR: @X0F" + Upper(STRING034) + " DOES NOT EXIST!"
Log "LoopBack Fatal Error: " + Upper(STRING034) + " does not exist!", 0
PrintLn
Wait
Goto LABEL131
:LABEL072
FOpen 1, STRING034, 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText STRING034
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + STRING034, 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Else
WORD006 = 0
FDefIn 1
FSeek 1, 43, 0
FDRead STRING006, 3
FDRead BOOLEAN012, 1
FDRead STRING017, 25
FDRead INTEGER004, 4
FDRead STRING020, 30
FDRead STRING018, 30
FDRead STRING019, 30
FDRead BYTE003, 1
FDRead WORD002, 2
FDRead BOOLEAN016, 1
FDRead INTEGER005, 4
FDRead STRING026, 75
FDRead WORD003, 2
FDRead STRING027, 30
FDRead BYTE007, 1
FDRead TBYTE018(0), 1
FDRead TBYTE018(1), 1
For INTEGER006 = 0 To 11
FDRead TSTRING030(INTEGER006), 75
Next
FDRead BYTE005, 1
FDRead BYTE006, 1
FDRead BYTE013, 1
FDRead BYTE015, 1
FDRead BYTE009, 1
FDRead BYTE010, 1
FDRead INTEGER008, 4
FDRead INTEGER009, 4
FDRead BYTE011, 1
For INTEGER006 = 0 To 4
FDRead TBOOLEAN024(INTEGER006), 1
Next
FDRead BYTE012, 1
For INTEGER006 = 0 To 3
FDRead TBOOLEAN025(INTEGER006), 1
Next
FDRead WORD005, 2
FDRead BYTE020, 1
FDRead BOOLEAN004, 1
FDRead BOOLEAN005, 1
FDRead BOOLEAN006, 1
FDRead WORD008, 2
FDRead BYTE014, 1
FDRead BOOLEAN007, 1
FDRead INTEGER015, 4
FDRead INTEGER016, 4
FDRead WORD009, 2
FDRead BOOLEAN029, 1
FDRead BOOLEAN023, 1
FDRead BYTE008, 1
FDRead WORD006, 2
FClose 1
If ((WORD006 <> 0) || ((WORD006 == 0) && BOOLEAN041)) Then
If ((WORD006 == 0) && BOOLEAN041) Then
U_ExpDate = 0
Else
If (BOOLEAN036) Goto LABEL073
DATE009 = Date() + WORD006
Goto LABEL074
:LABEL073
DATE009 = U_ExpDate + WORD006
Endif
:LABEL074
WORD006 = 0
Else
DATE009 = 0
WORD006 = 0
Endif
Return
:LABEL075
If (Exist(PPEPath() + "LBKSTATS.DAT")) Then
FOpen 1, PPEPath() + "LBKSTATS.DAT", 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText "LBKSTATS.DAT"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " LBKSTATS.DAT", 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Return
Endif
FSeek 1, 47, 0
FRead 1, INTEGER011, 4
FClose 1
Else
INTEGER011 = 0
Endif
Cls
PrintLn " @X10┌────────────────────────────────────────────────────────────────────────────@X19┐@X07"
PrintLn " @X10│ @X1F LoopBack v5.05 Informational Status Display @X19│@X07"
PrintLn " @X10└@X19────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn " @X10┌─────────────────────@X19┐ @X10┌───────────────────────────────────────────────────@X19┐@X07"
PrintLn " @X10│ @X1AExecutable Status @X19│ @X10│ @X1ALoopBack System File Stats @X19│@X07"
PrintLn " @X10│ @X1FName @X13" + Left(PPEName() + ".PPE" + Space(13), 13) + "@X19│ @X10│@X1EName Bytes Records @X19│@X07"
Print " @X10│ @X1FDate @X13" + String(FileInf(PPEPath() + PPEName() + ".PPE", 2)) + " @X19│ @X10│@X1FUsed # Trash @X13 " + Left(String(FileInf(TSTRING030(0), 4)) + Space(19), 19)
INTEGER003 = (FileInf(TSTRING030(0), 4) - 37) / 59
PrintLn Left(String(INTEGER003) + Space(13), 13) + "@X19│@X07"
Print " @X10│ @X1FVer@X13 ", INTEGER009, "@POS:24@@X19│ @X10│@X1FBad # Trash @X13" + Left(String(FileInf(TSTRING030(3), 4)) + Space(19), 19)
INTEGER003 = (FileInf(TSTRING030(3), 4) - 41) / 19
PrintLn Left(String(INTEGER003) + Space(13), 13) + "@X19│@X07"
Print " @X10│ @X1FBytes @X13" + Left(String(FileInf(PPEPath() + PPEName() + ".PPE", 4)) + Space(13), 13) + "@X19│ @X10│@X1FAllowed #s @X13" + Left(String(FileInf(TSTRING030(1), 4)) + Space(19), 19)
INTEGER003 = (FileInf(TSTRING030(1), 4) - 41) / 29
PrintLn Left(String(INTEGER003) + Space(13), 13) + "@X19│@X07"
Print " @X10└@X19─────────────────────┘ @X10│@X1FDialing Templates @X13" + Left(String(FileInf(PPEPath() + "LBKDIAL.PLT", 4)) + Space(19), 19)
INTEGER003 = (FileInf(PPEPath() + "LBKDIAL.PLT", 4) - 41) / 28
PrintLn Left(String(INTEGER003) + Space(13), 13) + "@X19│@X07"
PrintLn " @X10┌─────────────────@X19┐ @X10└@X19───────────────────────────────────────────────────┘@X07"
PrintLn " @X10│ @X1FUsers Verified @X19└@X10──────────────────────────────────────@X19┐ @X10┌─────────────────@X19┐@X07"
STRING008 = ReadLine(PCBDat(), 29)
INTEGER003 = FileInf(STRING008, 4) / 400
PrintLn " @X10│ @X1F0%························50%·····················100% @X19│ @X10│@X1FUsers @X13" + Left(String(INTEGER003) + Space(8), 8) + "@X19│@X07"
If ((INTEGER011 <> 0) && (INTEGER003 <> 0)) Then
REAL001 = FmtReal((ToReal(INTEGER011) / ToReal(INTEGER003)) * ToReal(54), 1, 0)
Else
REAL001 = 0
Endif
Color 7
Print " @X10│ @X1C"
STRING008 = Space(REAL001)
If (Len(STRING008) > 54) STRING008 = Space(54)
STRING008 = Replace(STRING008, " ", "▓")
Print STRING008
PrintLn "@X0C" + Space(54 - ToInt(REAL001)) + "@X10 @X19│ @X10│@X1FVerified @X13" + Left(String(INTEGER011) + Space(8), 8) + "@X19│@X07"
PrintLn " @X10└@X19────────────────────────────────────────────────────────┘ @X10└@X19─────────────────┘@X07"
PrintLn " @X10┌────────────────────────────────────────────────────────────────────────────@X19┐@X07"
PrintLn " @X10│ @X1ARegistration Status @X19│@X07"
If (BOOLEAN015) Then
PrintLn " @X10│ @X1FSysop Name @X13" + Left(STRING017 + Space(28), 28) + "@X1EPlease thank your SysOp for @X19│@X07"
PrintLn " @X10│ @X1FReg. Code @X13" + Left(String(INTEGER004) + Space(28), 28) + "@X1Esupporting the shareware concept! @X19│@X07"
Else
PrintLn " @X10│ @X1FSysop Name @X13UNREGISTERED" + Space(16) + "@X1EPlease ask your SysOp how you can @X19│@X07"
PrintLn " @X10│ @X1FReg. Code @X13 COPY " + Space(16) + "@X1Ehelp register this product! @X19│@X07"
Endif
PrintLn " @X10└@X19────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn
Wait
Return
:LABEL076
BOOLEAN002 = 0
:LABEL077
If (BOOLEAN002) Goto LABEL079
BYTE017 = 0
BOOLEAN017 = 0
STRING008 = NoChar()
If (BOOLEAN012 && !BOOLEAN040) Then
WORD004 = 16
Gosub LABEL127
InputYN STRING032, STRING008, 0
Endif
If ((BOOLEAN012 && (STRING008 == YesChar())) || (BOOLEAN012 && BOOLEAN040)) Then
STRING021 = ""
STRING006 = ""
STRING007 = ""
WORD004 = 17
Gosub LABEL127
While (Strip(STRING021, " ") == "") Do
InputStr STRING032, STRING021, 0, 3, "1234567890", 4 + 2 + 256
If ((Strip(STRING021, " ") == "") && TBOOLEAN025(1)) Then
BOOLEAN002 = 0
Break
Continue
Endif
If ((Strip(STRING021, " ") == "") && !TBOOLEAN025(1)) Then
Continue
Endif
EndWhile
WORD004 = 18
Gosub LABEL127
While (Strip(STRING006, " ") == "") Do
InputStr STRING032, STRING006, 0, 4, "1234567890", 4 + 2 + 256
If ((Strip(STRING006, " ") == "") && TBOOLEAN025(1)) Then
BOOLEAN002 = 0
Break
Continue
Endif
If ((Strip(STRING006, " ") == "") && !TBOOLEAN025(1)) Then
Continue
Endif
EndWhile
WORD004 = 19
Gosub LABEL127
While (Strip(STRING007, " ") == "") Do
InputStr STRING032, STRING007, 0, 8, "1234567890", 4 + 2 + 256
If ((Strip(STRING007, " ") == "") && TBOOLEAN025(1)) Then
BOOLEAN002 = 0
Break
Continue
Endif
If ((Strip(STRING007, " ") == "") && !TBOOLEAN025(1)) Then
Continue
Endif
EndWhile
STRING008 = YesChar()
If (Len(Strip(STRING021 + STRING006 + STRING007, " ")) >= BYTE014) Then
OpText " " + STRING021 + "-" + STRING006 + "-" + STRING007
WORD004 = 20
Gosub LABEL127
InputYN STRING032, STRING008, 0
Select Case (Upper(STRING008))
Case NoChar()
BOOLEAN002 = 0
Case YesChar()
BOOLEAN002 = 1
BYTE017 = 3
BOOLEAN017 = 1
End Select
Else
OpText String(BYTE014)
WORD004 = 61
Gosub LABEL127
DispStr STRING032
WORD004 = 62
Gosub LABEL127
Log STRING032, 0
BOOLEAN002 = 0
PrintLn
Wait
Endif
Else
If ((BOOLEAN012 && (STRING008 == NoChar())) || ((Len(STRING024) <> 10) || (Len(STRING025) <> 10))) Then
STRING006 = ""
STRING007 = ""
Gosub LABEL080
If (!BOOLEAN011) Return
Else
DispFile TSTRING030(6), 2 + 1 + 4
STRING008 = "D"
WORD004 = 25
Gosub LABEL127
InputStr STRING032, STRING008, 0, 1, "DdHhEeRr", 2 + 4 + 8192 + 256
Select Case (Upper(STRING008))
Case "D"
If (Len(STRING025) >= BYTE014) Then
BOOLEAN002 = 1
BYTE017 = 1
Else
OpText String(BYTE014)
WORD004 = 61
Gosub LABEL127
DispStr STRING032
WORD004 = 62
Gosub LABEL127
Log STRING032, 0
BOOLEAN002 = 0
PrintLn
Wait
Endif
Case "H"
If (Len(STRING024) >= BYTE014) Then
BOOLEAN002 = 1
BYTE017 = 2
Else
OpText String(BYTE014)
WORD004 = 61
Gosub LABEL127
DispStr STRING032
WORD004 = 62
Gosub LABEL127
Log STRING032, 0
BOOLEAN002 = 0
PrintLn
Wait
Endif
Case "R"
BOOLEAN002 = 1
BOOLEAN011 = 0
Return
Case "E"
Gosub LABEL080
If (BOOLEAN011) Goto LABEL078
BOOLEAN011 = 1
BOOLEAN002 = 0
Endif
Endif
End Select
:LABEL078
Goto LABEL077
:LABEL079
Return
:LABEL080
STRING007 = STRING006
STRING006 = ""
WORD004 = 26
Gosub LABEL127
While (Strip(STRING006, " ") == "") Do
STRING006 = STRING007
InputStr STRING032, STRING006, 0, 3, "1234567890", 2 + 4 + 256
If ((Strip(STRING006, " ") == "") && TBOOLEAN025(1)) Then
BOOLEAN002 = 1
BOOLEAN011 = 0
Return
Continue
Endif
If ((Strip(STRING006, " ") == "") && !TBOOLEAN025(1)) Then
Continue
Endif
EndWhile
STRING007 = ""
WORD004 = 19
Gosub LABEL127
While (Strip(STRING007, " ") == "") Do
InputStr STRING032, STRING007, 0, 8, "123456789-0 ", 2 + 4 + 256
If ((Strip(STRING007, " ") == "") && TBOOLEAN025(1)) Then
BOOLEAN002 = 1
BOOLEAN011 = 0
Return
Continue
Endif
If ((Strip(STRING007, " ") == "") && !TBOOLEAN025(1)) Then
Continue
Endif
EndWhile
If (Len(Strip(Strip(STRING006 + STRING007, " "), "-")) >= BYTE014) Then
STRING008 = YesChar()
OpText " (" + STRING006 + ")" + " " + STRING007
WORD004 = 20
Gosub LABEL127
InputYN STRING032, STRING008, 0
PrintLn
Select Case (Upper(STRING008))
Case NoChar()
BOOLEAN002 = 0
Case YesChar()
BOOLEAN002 = 1
BYTE017 = 3
STRING007 = Strip(Strip(Strip(Strip(STRING007, " "), "-"), "("), ")")
End Select
Else
OpText String(BYTE014)
WORD004 = 61
Gosub LABEL127
DispStr STRING032
WORD004 = 62
Gosub LABEL127
Log STRING032, 0
BOOLEAN002 = 0
PrintLn
Wait
Endif
Return
:LABEL081
If (BOOLEAN017 == 0) Then
Select Case (BYTE017)
Case 1
STRING010 = Mid(STRING025, 1, 3)
STRING011 = Mid(STRING025, 4, 3)
STRING023 = Mid(STRING025, 7, 4)
Case 2
STRING010 = Mid(STRING024, 1, 3)
STRING011 = Mid(STRING024, 4, 3)
STRING023 = Mid(STRING024, 7, 4)
Case 3
STRING010 = STRING006
STRING011 = Mid(STRING007, 1, 3)
STRING023 = Mid(STRING007, 4, 4)
End Select
Else
STRING021 = Strip(STRING021, " ")
STRING006 = Strip(STRING006, " ")
STRING007 = Strip(STRING007, " ")
Endif
Return
:LABEL082
BOOLEAN014 = 0
If (Exist(TSTRING030(3))) Then
INTEGER003 = FileInf(TSTRING030(3), 4)
INTEGER006 = (INTEGER003 - 41) / 19
INTEGER013 = INTEGER006
INTEGER012 = 1
INTEGER010 = 1
FOpen 1, TSTRING030(3), 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Goto LABEL083
Endif
BOOLEAN019 = 0
:LABEL083
If (BOOLEAN019) Then
OpText TSTRING030(3)
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + TSTRING030(3) , 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Goto LABEL131
Endif
FDefIn 1
While (INTEGER010 <= INTEGER006) Do
STRING033 = ""
FSeek 1, 41 + INTEGER010 * 19 - 19, 0
FDRead BOOLEAN003, 1
If (BOOLEAN003) Goto LABEL084
FDRead BOOLEAN026, 1
FRead 1, WORD007, 2
If ((PcbNode() == WORD007) || (WORD007 == 0)) Then
If (BOOLEAN017 && BOOLEAN012) Then
If (BOOLEAN026) Then
FDRead STRING008, 3
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING021)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING021, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
FDRead STRING008, 4
For BYTE016 = 1 To Len(STRING006)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING006, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
FDRead STRING008, 8
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING007)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING007, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
If (STRING021 + STRING006 + STRING007 == STRING033) Then
BOOLEAN014 = 1
FClose 1
Return
Endif
Endif
Goto LABEL084
Endif
If (BOOLEAN026) Goto LABEL084
FDRead STRING008, 3
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING010)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING010, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
FDRead STRING008, 3
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING011)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING011, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
FSeek 1, 1, 1
FDRead STRING008, 4
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING023)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING023, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
If (STRING010 + STRING011 + STRING023 == STRING033) Then
BOOLEAN014 = 1
FClose 1
Return
Endif
Endif
:LABEL084
Gosub LABEL129
Inc INTEGER012
Inc INTEGER010
EndWhile
Color 7
FClose 1
Endif
Return
:LABEL085
BOOLEAN009 = 1
BOOLEAN010 = 1
BOOLEAN018 = 0
BOOLEAN014 = 1
If (Exist(TSTRING030(1)) && Exist(PPEPath() + "LBKALLOW.IDX")) Then
If (Exist(PPEPath() + "LBKDIAL.PLT")) Goto LABEL086
PrintLn
PrintLn "@X0CLOOPBACK FATAL ERROR: NO DIALING TEMPLATE FILE EXISTS!"
PrintLn
Log "LOOPBACK FATAL ERROR: NO DIALING TEMPLATE FILE!", 0
PrintLn "@X0FPlease ask your SysOp to create the dialing template file..."
PrintLn
Wait
Goto LABEL131
:LABEL086
WORD004 = 47
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032 + " "
FOpen 1, TSTRING030(1), 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText TSTRING030(1)
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + TSTRING030(1) , 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Goto LABEL131
Endif
FOpen 2, PPEPath() + "LBKDIAL.PLT", 0, 0
If (Ferr(2)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText PPEPath() + "LBKDIAL.PLT"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "LBKDIAL.PLT", 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
FClose 2
Goto LABEL131
Endif
FOpen 3, PPEPath() + "LBKALLOW.IDX", 0, 0
If (Ferr(3)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText PPEPath() + "LBKALLOW.IDX"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "LBKALLOW.IDX", 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
FClose 2
FClose 3
Goto LABEL131
Endif
FDefIn 3
INTEGER014 = FileInf(PPEPath() + "LBKALLOW.IDX", 4)
INTEGER013 = (INTEGER014 - 41) / 8
If (BOOLEAN017) Then
INTEGER003 = S2I(STRING021, 10) + S2I(STRING006, 10)
Else
INTEGER003 = S2I(STRING010, 10) + S2I(STRING011, 10)
Endif
INTEGER007 = 0
INTEGER012 = 1
FSeek 3, 41, 0
While (INTEGER012 <= INTEGER013) Do
FDRead INTEGER006, 4
FDRead INTEGER010, 4
If ((INTEGER006 == 0) || (INTEGER006 == INTEGER003)) Then
Inc INTEGER007
FSeek 1, 41 + INTEGER012 * 29 - 29, 0
STRING033 = ""
FRead 1, BOOLEAN003, 1
If (BOOLEAN003) Goto LABEL089
FRead 1, BOOLEAN026, 1
If (BOOLEAN017 && BOOLEAN012) Then
If (BOOLEAN026) Then
FRead 1, STRING008, 3
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING021)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING021, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
FRead 1, STRING008, 4
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING006)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING006, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
FRead 1, STRING022, 10
STRING022 = Upper(Trim(STRING022, " "))
If (STRING021 + STRING006 == STRING033) Then
FreshLine
Gosub LABEL103
If (BOOLEAN014) Then
PrintLn
PrintLn "@X0CLOOPBACK FATAL ERROR: " + STRING022 + " TEMPLATE NOT FOUND!"
PrintLn
Log STRING022 + " TEMPLATE NOT FOUND! LOOPBACK HALTED!", 0
PrintLn "@X0FPlease ask your SysOp to check his/her dialing templates for accuracy..."
PrintLn
FClose 1
FClose 2
FClose 3
Wait
Goto LABEL131
Goto LABEL087
Endif
FClose 1
FClose 2
FClose 3
:LABEL087
Break
Endif
Endif
Goto LABEL089
Endif
If (BOOLEAN026) Goto LABEL089
FRead 1, STRING008, 3
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING010)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING010, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
FRead 1, STRING008, 3
STRING008 = Upper(Strip(STRING008, " "))
For BYTE016 = 1 To Len(STRING011)
If (Mid(STRING008, BYTE016, 1) == "X") Then
STRING033 = STRING033 + Mid(STRING011, BYTE016, 1)
Continue
Endif
STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
Next
FSeek 1, 1, 1
FRead 1, STRING022, 10
STRING022 = Trim(STRING022, " ")
If (STRING010 + STRING011 == STRING033) Then
FreshLine
Gosub LABEL103
If (BOOLEAN014) Then
PrintLn
PrintLn "@X0CLOOPBACK FATAL ERROR: " + STRING022 + " TEMPLATE NOT FOUND!"
PrintLn
Log STRING022 + " TEMPLATE NOT FOUND! LOOPBACK HALTED!", 0
PrintLn "@X0FPlease ask your SysOp to check his/her dialing templates for accuracy..."
PrintLn
FClose 1
FClose 2
FClose 3
Wait
Goto LABEL131
Goto LABEL088
Endif
FClose 1
FClose 2
FClose 3
:LABEL088
Break
Endif
Endif
:LABEL089
Gosub LABEL129
Inc INTEGER012
EndWhile
Color 7
FClose 1
FClose 2
FClose 3
Dec INTEGER012
Log "LoopBack Allowed #s (Scanned: " + String(INTEGER012) + " Searched: " + String(INTEGER007) + ")", 0
Else
PrintLn
PrintLn
PrintLn "@X0CYour SysOp has not yet created the allowed # calling index file..."
PrintLn "@X0ANotifying SysOp of this problem..."
PrintLn
PrintLn "@X0FLOOPBACK HALTING: INDEX FILE NOT PRESENT"
Log "LoopBack Allowed # Index file not present... PLEASE CREATE!", 1
FClose 1
FClose 2
FClose 3
PrintLn
Wait
Goto LABEL131
Endif
If (BOOLEAN014) Then
WORD004 = 46
Gosub LABEL127
If (BOOLEAN027) Log STRING010 + "-" + STRING011 + "-" + STRING023 + " " + STRING032, 0
Endif
If ((Exist(TSTRING030(0)) && !TBOOLEAN025(2)) && (!BOOLEAN014 && !BOOLEAN008)) Then
If (Exist(PPEPath() + "TRASH.IDX")) Then
WORD004 = 69
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032 + " "
INTEGER007 = FileInf(PPEPath() + "TRASH.IDX", 4)
INTEGER013 = (INTEGER007 - 37) / 8
FOpen 1, TSTRING030(0), 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText TSTRING030(0)
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + TSTRING030(0) , 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Goto LABEL131
Endif
FOpen 2, PPEPath() + "TRASH.IDX", 0, 0
If (Ferr(2)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText PPEPath() + "TRASH.IDX"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "TRASH.IDX", 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
FClose 2
Goto LABEL131
Endif
FDefIn 2
If (BOOLEAN017) Then
INTEGER003 = S2I(STRING021, 10) + S2I(STRING006, 10) + S2I(STRING007, 10)
Else
INTEGER003 = S2I(STRING010, 10) + S2I(STRING011, 10) + S2I(STRING023, 10)
Endif
INTEGER012 = 1
FSeek 2, 37, 0
INTEGER007 = 0
While (INTEGER012 <= INTEGER013) Do
FDRead INTEGER010, 4
FDRead INTEGER006, 4
If (INTEGER006 == INTEGER003) Then
Inc INTEGER007
FSeek 1, 37 + INTEGER010 * 59 - 59, 0
FRead 1, BOOLEAN003, 1
If (BOOLEAN003) Goto LABEL090
FRead 1, BOOLEAN026, 1
FRead 1, STRING025, 3
FRead 1, STRING008, 4
STRING025 = STRING025 + STRING008
FRead 1, STRING008, 8
STRING025 = STRING025 + STRING008
STRING025 = Strip(STRING025, " ")
FRead 1, STRING031, 25
STRING031 = Trim(STRING031, " ")
FRead 1, DATE003, 2
FRead 1, TIME001, 4
If (BOOLEAN017 == 0) Then
If (STRING025 == STRING010 + STRING011 + STRING023) Then
WORD004 = 50
Gosub LABEL127
BOOLEAN018 = 1
FClose 1
FClose 2
If (BOOLEAN027) Log STRING010 + "-" + STRING011 + "-" + STRING023 + " " + STRING032, 0
Break
Endif
Goto LABEL090
Endif
If (STRING025 == STRING021 + STRING006 + STRING007) Then
WORD004 = 50
Gosub LABEL127
BOOLEAN018 = 1
FClose 1
FClose 2
If (BOOLEAN027) Log STRING021 + "-" + STRING006 + "-" + STRING007 + " " + STRING032, 0
Break
Endif
Endif
:LABEL090
Gosub LABEL129
Inc INTEGER012
EndWhile
Color 7
FClose 1
FClose 2
Newline
PrintLn
Dec INTEGER012
Log "LoopBack Used # File (Scanned: " + String(INTEGER012) + " Searched: " + String(INTEGER007) + ")", 0
Else
PrintLn
PrintLn
PrintLn "@X0CYour SysOp has not yet created the trash index file..."
PrintLn "@X0ANotifying SysOp of this problem..."
PrintLn
PrintLn "@X0FLOOPBACK HALTING: INDEX FILE NOT PRESENT"
Log "LoopBack Trash Index file not present... PLEASE CREATE!", 1
FClose 1
FClose 2
PrintLn
Wait
Else
Endif
If (BOOLEAN018) Goto LABEL092
For INTEGER006 = 0 To 5
TSTRING028(INTEGER006) = ""
TTIME002(INTEGER006) = 0
TDATE004(INTEGER006) = 0
Next
If (Exist(PPEPath() + "LBKSTATS.DAT")) Then
INTEGER007 = FileInf(PPEPath() + "LBKSTATS.DAT", 4)
FOpen 1, PPEPath() + "LBKSTATS.DAT", 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Goto LABEL091
Endif
BOOLEAN019 = 0
:LABEL091
If (BOOLEAN019) Then
OpText "LBKSTATS.DAT"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " LBKSTATS.DAT", 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Return
Endif
FSeek 1, 47, 0
FRead 1, INTEGER011, 4
FSeek 1, 8, 1
For INTEGER006 = 0 To 5
FRead 1, TSTRING028(INTEGER006), 25
FRead 1, TDATE004(INTEGER006), 2
FRead 1, TTIME002(INTEGER006), 4
Next
FClose 1
Endif
For INTEGER006 = 0 To 5
If (Trim(TSTRING028(INTEGER006), " ") == "") Then
TSTRING028(INTEGER006) = " N/A"
TDATE004(INTEGER006) = 0
TTIME002(INTEGER006) = 0
Endif
Next
:LABEL092
Return
:LABEL093
If (!Exist(TSTRING030(2))) Return
INTEGER003 = FileInf(TSTRING030(2), 4)
INTEGER006 = (INTEGER003 - 39) / 28
INTEGER010 = 1
FOpen 1, TSTRING030(2), 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText TSTRING030(2)
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + TSTRING030(2) , 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Else
FDefIn 1
While (INTEGER010 <= INTEGER006) Do
FSeek 1, 39 + INTEGER010 * 28 - 28, 0
FDRead BOOLEAN003, 1
If (BOOLEAN003) Goto LABEL094
FDRead WORD007, 2
If ((WORD007 == PcbNode()) || (WORD007 == 0)) Then
FDRead STRING008, 25
STRING008 = Upper(Trim(STRING008, " "))
If (InStr(Upper(U_Name()), STRING008) <> 0) Then
WORD004 = 22
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 23
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 31
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
FClose 1
STRING008 = ""
Goto LABEL131
Endif
Endif
:LABEL094
Inc INTEGER010
EndWhile
FClose 1
STRING008 = ""
Return
:LABEL095
If (!Exist(TSTRING030(9))) Return
INTEGER003 = FileInf(TSTRING030(9), 4)
INTEGER006 = (INTEGER003 - 39) / 4
INTEGER010 = 1
FOpen 1, TSTRING030(9), 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText TSTRING030(9)
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + TSTRING030(9) , 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Else
FDefIn 1
While (INTEGER010 <= INTEGER006) Do
FSeek 1, 39 + INTEGER010 * 4 - 4, 0
FDRead BOOLEAN003, 1
If (BOOLEAN003) Goto LABEL096
FDRead WORD007, 2
If ((WORD007 == PcbNode()) || (WORD007 == 0)) Then
FDRead BYTE016, 1
If (U_Sec == BYTE016) Then
WORD004 = 22
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 23
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 31
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
FClose 1
Goto LABEL131
Endif
Endif
:LABEL096
Inc INTEGER010
EndWhile
FClose 1
Return
:LABEL097
If (Exist(PPEPath() + "UNIVERSL.KEY")) Goto LABEL100
If (Exist(PPEPath() + "UNI.KEY")) Goto LABEL101
If (Exist(PPEPath() + "CALLBACK.KEY")) Goto LABEL102
INTEGER006 = 0
INTEGER010 = 0
STRING009 = ""
STRING009 = Strip(Upper(STRING017), " ")
For INTEGER010 = 1 To Len(STRING009)
INTEGER006 = INTEGER006 + Asc(Mid(STRING009, INTEGER010, 1))
Next
INTEGER006 = INTEGER006 + 5427
Inc INTEGER006
INTEGER010 = INTEGER006 / 2
INTEGER006 = INTEGER010 + INTEGER006
INTEGER006 = INTEGER006 + Len(STRING009)
INTEGER010 = INTEGER008
INTEGER006 = INTEGER006 + INTEGER010
INTEGER006 = INTEGER006 + INTEGER009
INTEGER006 = INTEGER006 - 34
BOOLEAN015 = 0
If (INTEGER004 == INTEGER006) Then
BOOLEAN015 = 1
Else
BOOLEAN015 = 0
Endif
:LABEL098
If (BOOLEAN015) Goto LABEL099
Cls
PrintLn "@X0ALoopBack v5.05 @X0FCopyright (c)1996 by Practical Computer Services"
PrintLn
Print "@X0CUNREGISTERED @X07delaying @X0E10"
Backup 2
INTEGER006 = 9
While ((INTEGER006 < 10) && (INTEGER006 >= 0)) Do
Delay 18
Print String(INTEGER006) + " "
Dec INTEGER006
Backup 2
EndWhile
PrintLn
:LABEL099
Return
:LABEL100
FOpen 1, PPEPath() + "UNIVERSL.KEY", 0, 0
FDefIn 1
For INTEGER017 = 1 To 3
FDGet TSTRING015(INTEGER017)
Next
FClose 1
STRING009 = TSTRING015(1) + TSTRING015(2)
STRING009 = Strip(STRING009, " ")
For INTEGER018 = 1 To Len(STRING009)
TINTEGER019(INTEGER018) = Asc(Mid(STRING009, INTEGER018, 1))
Next
INTEGER006 = 0
For INTEGER018 = 1 To 99
INTEGER006 = INTEGER006 + TINTEGER019(INTEGER018)
Next
INTEGER010 = INTEGER006 * 659
INTEGER004 = INTEGER010
BOOLEAN015 = 0
If (INTEGER010 <> TSTRING015(3)) Then
BOOLEAN015 = 0
Else
BOOLEAN015 = 1
Endif
Goto LABEL098
:LABEL101
FOpen 1, PPEPath() + "UNI.KEY", 0, 0
FDefIn 1
For INTEGER017 = 1 To 3
FDGet TSTRING015(INTEGER017)
Next
FClose 1
STRING009 = TSTRING015(1) + TSTRING015(2)
STRING009 = Strip(STRING009, " ")
For INTEGER018 = 1 To Len(STRING009)
TINTEGER019(INTEGER018) = Asc(Mid(STRING009, INTEGER018, 1))
Next
INTEGER006 = 0
For INTEGER018 = 1 To 99
INTEGER006 = INTEGER006 + TINTEGER019(INTEGER018)
Next
INTEGER010 = INTEGER006 * 659
INTEGER004 = INTEGER010
BOOLEAN015 = 0
If (INTEGER010 <> TSTRING015(3)) Then
BOOLEAN015 = 0
Else
BOOLEAN015 = 1
Endif
Goto LABEL098
:LABEL102
FOpen 1, PPEPath() + "CALLBACK.KEY", 0, 0
FDefIn 1
For INTEGER017 = 1 To 4
FDGet TSTRING015(INTEGER017)
Next
FClose 1
STRING009 = TSTRING015(1) + TSTRING015(2) + TSTRING015(3)
STRING009 = Strip(STRING009, " ")
For INTEGER018 = 1 To Len(STRING009)
TINTEGER019(INTEGER018) = Asc(Mid(STRING009, INTEGER018, 1))
Next
INTEGER006 = 0
For INTEGER018 = 1 To 99
INTEGER006 = INTEGER006 + TINTEGER019(INTEGER018)
Next
INTEGER010 = INTEGER006 * 709
BOOLEAN015 = 0
If (INTEGER010 <> TSTRING015(4)) Then
BOOLEAN015 = 0
Else
BOOLEAN015 = 1
Endif
Goto LABEL098
:LABEL103
INTEGER003 = FileInf(PPEPath() + "LBKDIAL.PLT", 4)
INTEGER006 = (INTEGER003 - 41) / 28
INTEGER010 = 1
FSeek 2, 41, 0
While (INTEGER010 <= INTEGER006) Do
FRead 2, BOOLEAN003, 1
FRead 2, BOOLEAN026, 1
For BYTE016 = 0 To 5
FRead 2, TBYTE021(BYTE016), 1
Next
FRead 2, STRING008, 10
FRead 2, BYTE001, 1
FRead 2, BYTE002, 1
FRead 2, WORD006, 2
STRING008 = Trim(STRING008, " ")
FSeek 2, 6, 1
If (BOOLEAN003) Goto LABEL106
If (STRING008 == STRING022) Then
BOOLEAN014 = 0
If (BOOLEAN026) Then
BOOLEAN013 = 1
Else
BOOLEAN013 = 0
Endif
If (BOOLEAN008) BOOLEAN013 = 0
If ((WORD006 <> 0) || ((WORD006 == 0) && BOOLEAN041)) Then
If ((WORD006 == 0) && BOOLEAN041) Then
DATE002 = 0
Goto LABEL105
Endif
If (BOOLEAN036) Goto LABEL104
DATE002 = Date() + WORD006
Goto LABEL105
:LABEL104
DATE002 = U_ExpDate + WORD006
Endif
:LABEL105
Gosub LABEL107
Return
Else
BOOLEAN014 = 1
Endif
:LABEL106
Inc INTEGER010
EndWhile
Return
:LABEL107
If (Exist(PPEPath() + "MULTIPBX.LST")) Then
FOpen 4, PPEPath() + "MULTIPBX.LST", 0, 0
STRING008 = ""
:LABEL108
If (Ferr(4)) Goto LABEL110
FGet 4, STRING008
Tokenize STRING008
STRING012 = Upper(GetToken())
STRING009 = Upper(GetToken())
If (STRING012 == STRING022) Then
STRING018 = STRING009
Goto LABEL109
Endif
:LABEL109
Goto LABEL108
:LABEL110
FClose 4
Endif
Return
:LABEL111
PrintLn
Select Case (BYTE019)
Case 1
STRING009 = TSTRING030(8)
Case 2
STRING009 = PPEPath() + Mid(STRING022, 1, 8) + ".TBL"
STRING009 = Strip(Upper(STRING009), " ")
End Select
If (Exist(STRING009)) Then
INTEGER003 = FileInf(STRING009, 4)
INTEGER006 = (INTEGER003 - 43) / 25
FOpen 1, STRING009, 0, 0
If (Ferr(1)) Then
BOOLEAN019 = 1
Goto LABEL112
Endif
BOOLEAN019 = 0
:LABEL112
If (BOOLEAN019) Then
OpText STRING009
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + STRING009, 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
FClose 1
Goto LABEL131
Endif
BOOLEAN021 = 0
BOOLEAN022 = 0
INTEGER010 = 1
FDefIn 1
FSeek 1, 43, 0
While (!BOOLEAN021 && (INTEGER010 <= INTEGER006)) Do
FDRead BOOLEAN003, 1
FDRead WORD007, 2
FDRead DATE006, 2
FDRead TIME004, 4
FDRead DATE007, 2
FDRead TIME005, 4
FSeek 1, 10, 1
If ((!BOOLEAN003 && ((PcbNode() == WORD007) || (WORD007 == 0))) && (DATE006 + DATE007 + TIME004 + TIME005 <> 0)) Then
If (DATE006 == 0) DATE005 = Date()
If (DATE007 == 0) DATE008 = Date()
If (DATE005 <= Date()) Then
If (DATE008 >= Date()) Then
TIME003 = Time()
If (TIME004 <= TIME003) Then
If (TIME005 > TIME003) Then
BOOLEAN021 = 1
BOOLEAN022 = 1
Endif
Endif
Endif
Endif
Endif
Inc INTEGER010
EndWhile
FClose 1
Endif
Return
:LABEL113
If (Exist(PPEPath() + "LBKBACK.CAL")) Then
FAppend 1, PPEPath() + "LBKBACK.CAL", 1, 2
If (Ferr(1)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText PPEPath() + "LBKBACK.CAL"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "LBKBACK.CAL", 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
Log "USER WAS CALLED BACK IN CBONLY MODE!", 0
FClose 1
Goto LABEL131
Endif
Else
FCreate 1, PPEPath() + "LBKBACK.CAL", 1, 2
If (Ferr(1)) Then
BOOLEAN019 = 1
Else
BOOLEAN019 = 0
Endif
If (BOOLEAN019) Then
OpText PPEPath() + "LBKBACK.CAL"
WORD004 = 9
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
WORD004 = 8
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "LBKBACK.CAL", 0
WORD004 = 27
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
Log "USER WAS CALLED BACK IN CBONLY MODE!", 0
FClose 1
Goto LABEL131
Endif
FPutLn 1, "LoopBack v5.05 Call-Back Only Mode Log"
FPutLn 1, "Log created at " + String(Time()) + " on " + String(Date())
FPutLn 1, "----------------------------------------------------------------"
FPutLn 1
Endif
FPutLn 1, U_Name() + " at " + String(Time()) + " on " + String(Date())
If (BOOLEAN017 && BOOLEAN012) Then
FPutLn 1, "Number called: " + STRING021 + "-" + STRING006 + "-" + STRING007
Else
FPutLn 1, "Number called: " + STRING010 + "-" + STRING011 + "-" + STRING023
Endif
FPutLn 1, "----------------------------------------------------------------"
FClose 1
Return
:LABEL114
BOOLEAN033 = 0
If (Exist(PPEPath() + "LBKCID.CFG")) Then
BOOLEAN033 = 1
BOOLEAN039 = 0
BOOLEAN037 = 0
BOOLEAN038 = 0
FOpen 1, PPEPath() + "LBKCID.CFG", 0, 0
FGet 1, STRING008
FGet 1, STRING009
BYTE024 = S2I(STRING009, 10)
FGet 1, STRING009
WORD010 = S2I(STRING009, 10)
FGet 1, STRING009
BYTE023 = S2I(STRING009, 10)
FGet 1, STRING009
If (Mid(Upper(Trim(STRING009, " ")), 1, 1) == "Y") BOOLEAN037 = 1
FGet 1, STRING009
If (Mid(Upper(Trim(STRING009, " ")), 1, 1) == "Y") BOOLEAN038 = 1
FGet 1, STRING009
If (Mid(Upper(Trim(STRING009, " ")), 1, 1) == "Y") BOOLEAN039 = 1
FClose 1
STRING008 = Trim(STRING008, " ")
If (STRING008 <> "") Then
FOpen 1, STRING008, 0, 0
FDefIn 1
STRING008 = ""
:LABEL115
If (Ferr(1)) Goto LABEL116
FDGet STRING008
STRING008 = Strip(Strip(Strip(Strip(Strip(STRING008, " "), ")"), "("), "-"), "+")
If (STRING008 <> "") Gosub LABEL117
Goto LABEL115
:LABEL116
FClose 1
Else
STRING008 = CallId()
STRING008 = Strip(Strip(Strip(Strip(Strip(STRING008, " "), ")"), "("), "-"), "+")
Gosub LABEL117
Endif
Else
STRING008 = CallId()
STRING008 = Strip(Strip(Strip(Strip(Strip(STRING008, " "), ")"), "("), "-"), "+")
Gosub LABEL117
Endif
:LABEL117
STRING009 = ""
STRING013 = ""
STRING014 = ""
If (Mid(STRING008, 1, 2) == "03") Then
For BYTE016 = 1 To Len(STRING025)
STRING013 = "3" + Mid(STRING025, BYTE016, 1)
Next
For BYTE016 = 1 To Len(STRING024)
STRING014 = "3" + Mid(STRING024, BYTE016, 1)
Next
Endif
If ((((InStr(STRING008, STRING025) <> 0) || (InStr(STRING008, STRING024) <> 0)) || ((STRING013 <> "") && (InStr(STRING008, STRING013) <> 0))) || ((STRING014 <> "") && (InStr(STRING008, STRING014) <> 0))) Then
WORD004 = 64
Gosub LABEL127
DispStr STRING032
Delay 20
If (!OnLocal() || BOOLEAN004) Then
WORD004 = 7
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Delay 20
If (BOOLEAN033) Goto LABEL118
If (BYTE007 <> 0) U_Sec = BYTE007
If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
If (BYTE008 <> 0) U_ExpSec = BYTE008
Goto LABEL121
:LABEL118
If (BYTE024 <> 0) U_Sec = BYTE024
If ((WORD010 <> 0) || ((WORD010 == 0) && BOOLEAN041)) Then
If (BOOLEAN041 && (WORD010 == 0)) Then
U_ExpDate = 0
Goto LABEL120
Endif
If (BOOLEAN036) Goto LABEL119
U_ExpDate = Date() + WORD010
Goto LABEL120
:LABEL119
U_ExpDate = U_ExpDate + WORD010
Endif
:LABEL120
If (BYTE023 <> 0) U_ExpSec = BYTE023
:LABEL121
Message 0, U_Name(), "SYSOP", "CALLER-ID VERIFIED", "R", Date() + 5, 0, 0, PPEPath() + "USERCID.MSG"
Message 0, "SYSOP", U_Name(), "USER VERIFIED VIA CID", "R", Date() + 5, 0, 0, PPEPath() + "SYSCID.MSG"
PutUser
If (EvtTimeAdj()) Goto LABEL123
If (BOOLEAN016) Then
AdjTime INTEGER005
Goto LABEL122
Endif
AdjTime INTEGER005 - MinLeft()
:LABEL122
Goto LABEL124
:LABEL123
WORD004 = 40
Gosub LABEL127
If (BOOLEAN027) Log STRING032, 0
WORD004 = 34
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
:LABEL124
AdjDBytes INTEGER015
AdjTBytes INTEGER016
AdjTFiles WORD009
WORD004 = 29
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
If ((TSTRING030(10) <> "") && (TSTRING030(10) <> "NONE")) Then
OpText FileInf(TSTRING030(10), 8) + "." + FileInf(TSTRING030(10), 9)
WORD004 = 33
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Flag TSTRING030(10)
WORD004 = 41
Gosub LABEL127
If (BOOLEAN027) Log STRING032 + " " + FileInf(TSTRING030(10), 8) + "." + FileInf(TSTRING030(10), 9) , 0
Delay 9
If (BOOLEAN029) Download ""
Endif
WORD004 = 31
Gosub LABEL127
If (BOOLEAN027) DispStr STRING032
Endif
WORD004 = 65
Gosub LABEL127
Delay 20
Log STRING032, 0
FClose 1
Else
Return
:LABEL125
STRING008 = Upper(GetEnv("LOOPBACK"))
BOOLEAN030 = 0
BOOLEAN031 = 0
BOOLEAN032 = 0
BOOLEAN034 = 0
BOOLEAN035 = 0
BOOLEAN036 = 0
BOOLEAN040 = 0
BOOLEAN041 = 0
If (InStr(STRING008, "/LOCALONLY")) Then
If (OnLocal()) Goto LABEL126
PrintLn
PrintLn "@X0CSorry, only local callers allowed on this node..."
PrintLn
Wait
Else
:LABEL126
If (InStr(STRING008, "/ALERT")) BOOLEAN030 = 1
If (InStr(STRING008, "/NOINFO")) BOOLEAN031 = 1
If (InStr(STRING008, "/BYPASS")) BOOLEAN032 = 1
If (InStr(STRING008, "/TRACE")) BOOLEAN034 = 1
If (InStr(STRING008, "/NOCBONLY")) BOOLEAN035 = 1
If (InStr(STRING008, "/ADDEXPDAYS")) BOOLEAN036 = 1
If (InStr(STRING008, "/ALLINT")) BOOLEAN040 = 1
If (InStr(STRING008, "/ZEROEXP")) BOOLEAN041 = 1
STRING008 = ""
Return
:LABEL127
FSeek 5, 39 + WORD004 * 97 - 97, 0
FSeek 5, 1, 1
FRead 5, BOOLEAN027, 1
FSeek 5, 4, 1
FRead 5, STRING032, 75
FRead 5, BOOLEAN028, 1
If (BOOLEAN028) PrintLn
Return
:LABEL128
Color 7
SPrint Chr(27) + "[2J"
SPrint " "
Print "@POFF@"
SPrint "
┌────────────────────────────────────────────────────────────────────────────"
SPrint "
┐"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
Caller : "
SPrint "
" + Left(Upper(U_Name()) + Space(29), 29)
SPrint "
From : "
SPrint "
" + Left(Upper(U_City) + Space(30), 30)
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
Upgraded Lvl : "
If (BYTE001 <> 0) Then
STRING008 = String(BYTE001)
Else
STRING008 = "N/A"
Endif
SPrint "
" + Left(STRING008 + Space(23), 23)
SPrint "
New Exp. Date : "
SPrint "
" + Left(String(DATE002) + Space(21), 21)
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
Password: "
SPrint "
" + Left(U_Pwd + Space(28), 28)
SPrint "
Node : "
SPrint "
" + Left(PcbNode() + Space(30), 30)
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
┌────────────────────────────────────────────────────────────────────"
SPrint "
┐ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
Total # Callbacks: "
SPrint "
" + Left(String(INTEGER011) + Space(13), 13)
SPrint "
Delaying : "
SPrint "
No "
SPrint "
Date : "
SPrint "
" + Left(String(Date()) + Space(9), 9)
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
Dialing Template : "
SPrint "
" + Left(STRING022 + Space(15), 15)
SPrint "
Logoff : "
SPrint "
"
If (BOOLEAN013) Then
SPrint "Yes "
Else
SPrint "No "
Endif
SPrint "
Overseas: "
SPrint "
"
If (BOOLEAN012 && BOOLEAN017) Then
SPrint "Yes "
Else
SPrint "No "
Endif
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
Comment(s) to add: "
SPrint "
"
Select Case (BYTE011)
Case 0
SPrint "None "
Case 1
SPrint "Date/Time "
Case 2
SPrint "Phone # "
Case 3
SPrint "Both (D/T/#) "
End Select
SPrint "
Message : "
SPrint "
"
Select Case (BYTE010)
Case 1
SPrint "INT "
Case 2
SPrint "EXT "
Case 0
SPrint "None "
End Select
SPrint "
"
If (BOOLEAN017 && BOOLEAN012) Then
SPrint Left(STRING021 + "-" + STRING006 + "-" + STRING007 + Space(19), 19)
Else
SPrint Left(STRING010 + "-" + STRING011 + "-" + STRING023 + Space(19), 19)
Endif
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
┌─────────────────────────────────────────────────────────"
SPrint "
┐ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│"
SPrint "
ACTION"
SPrint "
│ "
SPrint "
Please wait, disconnecting caller... "
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
└"
SPrint "
─────────────────────────────────────────────────────────┘ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
Last 5 verifications "
STRING008 = ReadLine(PCBDat(), 52)
STRING008 = Strip(STRING008, ":")
STRING008 = Strip(STRING008, " ")
SPrint "
"
If (STRING008 <> "NONE") Then
If (Mid(STRING008, 1, 1) == "C") Then
SPrint Mid(STRING008, 1, 3)
SPrint " "
SPrint Left(Mid(STRING008, 4, Len(STRING008) - 3) + Space(7), 7)
Else
Backup 1
SPrint Mid(STRING008, 1, 4)
SPrint " "
SPrint Left(Mid(STRING008, 5, Len(STRING008) - 4) + Space(7), 7)
Endif
Else
SPrint "LOCAL "
Endif
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
┌───────────────────────────────────────────────"
SPrint "
┐ "
SPrint "
┌────────────"
SPrint "
┐ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrint "
" + Left(Trim(TSTRING028(5), " ") + Space(28), 28)
SPrint "
" + String(TDATE004(5)) + Space(3)
SPrint "
" + String(TTIME002(5))
SPrint "
│ "
SPrint "
│ "
SPrint "
CONNECT "
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrint "
" + Left(Trim(TSTRING028(4), " ") + Space(28), 28)
SPrint "
" + String(TDATE004(4)) + Space(3)
SPrint "
" + String(TTIME002(4))
SPrint "
│ "
SPrint "
│ "
SPrint "
"
STRING008 = ""
STRING008 = ReadLine(PCBDat(), 53)
STRING008 = Strip(STRING008, " ")
SPrint Left(STRING008 + Space(9), 9)
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrint "
" + Left(Trim(TSTRING028(3), " ") + Space(28), 28)
SPrint "
" + String(TDATE004(3)) + Space(3)
SPrint "
" + String(TTIME002(3))
SPrint "
│ "
SPrint "
│ "
SPrint "
────────── │ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrint "
" + Left(Trim(TSTRING028(2), " ") + Space(28), 28)
SPrint "
" + String(TDATE004(2)) + Space(3)
SPrint "
" + String(TTIME002(2))
SPrint "
│ "
SPrint "
│ "
SPrint "
CARRIER "
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrint "
" + Left(Trim(TSTRING028(1), " ") + Space(28), 28)
SPrint "
" + String(TDATE004(1)) + Space(3)
SPrint "
" + String(TTIME002(1))
SPrint "
│ "
SPrint "
│ "
SPrint "
" + Left(String(Carrier()) + Space(9), 9)
SPrint "
│ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
│ "
SPrint "
└"
SPrint "
───────────────────────────────────────────────┘ "
SPrint "
└"
SPrint "
────────────┘ "
SPrint "
│ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
└"
SPrint "
────────────────────────────────────────────────────────────────────┘ "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
│ "
SPrint "
LoopBack v5.05 Copyright (c)"
SPrint "
96,1997 Practical Computer Services "
SPrint "
│"
SPrintLn "
"
SPrint " "
SPrint "
└"
SPrint "
────────────────────────────────────────────────────────────────────────────┘"
SPrint "
"
Return
:LABEL129
If ((INTEGER012 <> 0) && (INTEGER013 <> 0)) Then
If (INTEGER012 == 1) Then
BYTE022 = 0
Goto LABEL130
Endif
BYTE022 = REAL001
:LABEL130
REAL001 = ToReal(INTEGER012) / ToReal(INTEGER013)
REAL001 = FmtReal(REAL001 * 100, 1, 0)
If (BYTE022 <> REAL001) Then
Backup Len(String(BYTE022) + "%")
Print String(REAL001) + "%"
Endif
Endif
Return
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Endif
:LABEL131
Gosub LABEL132
End
:LABEL132
FClose 5
KeyFlush
KbdChkOn
Color DefColor()
Cls
Return
:LABEL133
Cls
PrintLn " @X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn " @X10│ @X1ALoopBack v5.0 Tutorial @X19│@X0F"
PrintLn " @X10│ @X1D────────────────────── @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1EWhat we are attempting to do here is @X19│@X0F"
PrintLn " @X10│ @X1Eto verify the phone number that you @X19│@X0F"
PrintLn " @X10│ @X1Eare calling from. There are 5 steps @X19│@X0F"
PrintLn " @X10│ @X1Eto this procedure, and all of them are @X19│@X0F"
PrintLn " @X10│ @X1Ereally quite simple! Relax and let @X19│@X0F"
PrintLn " @X10│ @X1Eme show what will happen. @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F1.@X1E You will be given a choice between @X19│@X0F"
PrintLn " @X10│ @X1E your Home Phone number or your @X19│@X0F"
PrintLn " @X10│ @X1E Data Phone number and we even will @X19│@X0F"
PrintLn " @X10│ @X1E give you a chance to enter in any @X19│@X0F"
PrintLn " @X10│ @X1E other number you are at at the @X19│@X0F"
PrintLn " @X10│ @X1E moment (nice eh?). @X19│@X0F"
PrintLn " @X10└@X19────────────────────────────────────────┘@X0F"
Print " "
Wait
Cls
PrintLn " @X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn " @X10│ @X1ALoopBack v5.0 Tutorial @X19│@X0F"
PrintLn " @X10│ @X1D────────────────────── @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F2. @X1ENext *we* do some searching of our @X19│@X0F"
PrintLn " @X10│ @X1Erecords, we verify that your number @X19│@X0F"
PrintLn " @X10│ @X1Ehas not been previously used, that @X19│@X0F"
PrintLn " @X10│ @X1Eyour name has not been verified and @X19│@X0F"
PrintLn " @X10│ @X1Ethings like the time is right for @X19│@X0F"
PrintLn " @X10│ @X1Ecallback. Basically stuff you do @X19│@X0F"
PrintLn " @X10│ @X1Enot need to know about to complete @X19│@X0F"
PrintLn " @X10│ @X1Ethe callback. @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F3. @X1EWe then drop carrier on you (which @X19│@X0F"
PrintLn " @X10│ @X1Emeans we hang up the phone, break @X19│@X0F"
PrintLn " @X10│ @X1Ethe connection or disconnect our @X19│@X0F"
PrintLn " @X10│ @X1Etwo computers. @X19│@X0F"
PrintLn " @X10└@X19────────────────────────────────────────┘@X0F"
Print " "
Wait
Cls
PrintLn " @X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn " @X10│ @X1ALoopBack v5.0 Tutorial @X19│@X0F"
PrintLn " @X10│ @X1D────────────────────── @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F4.@X1E But never fear! We are going to @X19│@X0F"
PrintLn " @X10│ @X1E call you back! Thats right, our @X19│@X0F"
PrintLn " @X10│ @X1E computer will hang up the phone, @X19│@X0F"
PrintLn " @X10│ @X1E wait for about 20 to 30 seconds @X19│@X0F"
PrintLn " @X10│ @X1E and then dial the number you had @X19│@X0F"
PrintLn " @X10│ @X1E entered in the 1st step (easy @X19│@X0F"
PrintLn " @X10│ @X1E concept, no?) What you will do is @X19│@X0F"
PrintLn " @X10│ @X1E this: Do nothing for the 20 to 30 @X19│@X0F"
PrintLn " @X10│ @X1E seconds until you see the word @X19│@X0F"
PrintLn " @X10│ @X1E RING appear on your screen (no it @X19│@X0F"
PrintLn " @X10│ @X1E isn't magic, but darn close!) @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10└@X19────────────────────────────────────────┘@X0F"
Print " "
Wait
Cls
PrintLn " @X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn " @X10│ @X1ALoopBack v5.0 Tutorial @X19│@X0F"
PrintLn " @X10│ @X1D────────────────────── @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1BYou See: @X17RING @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1BYou Type: @X17ATA @X1B(@X1Cthen the enter key@X1B) @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1EI know you are saying to yourself @X19│@X0F"
PrintLn " @X10│ @X1EWhat does ATA mean? Well in it's @X19│@X0F"
PrintLn " @X10│ @X1Esimplest form your are telling your @X19│@X0F"
PrintLn " @X10│ @X1Emodem to AuToAnswer the phone (you @X19│@X0F"
PrintLn " @X10│ @X1Egot that didn't you?) By typing @X19│@X0F"
PrintLn " @X10│ @X1EATA your modem will answer our modems @X19│@X0F"
PrintLn " @X10│ @X1Ecall and they will do the mysterious @X19│@X0F"
PrintLn " @X10│ @X1Ethings modems do when they talk to @X19│@X0F"
PrintLn " @X10│ @X1Eeach other. @X19│@X0F"
PrintLn " @X10└@X19────────────────────────────────────────┘@X0F"
Print " "
Wait
Cls
PrintLn " @X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn " @X10│ @X1ALoopBack v5.0 Tutorial @X19│@X0F"
PrintLn " @X10│ @X1D────────────────────── @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F5.@X1E After about 15 to 30 seconds of @X19│@X0F"
PrintLn " @X10│ @X1E modem talk, you will be connected @X19│@X0F"
PrintLn " @X10│ @X1E back here, and you will be asked @X19│@X0F"
PrintLn " @X10│ @X1E for your password, type that in @X19│@X0F"
PrintLn " @X10│ @X1E and again like magic you will have @X19│@X0F"
PrintLn " @X10│ @X1E completed the infamous callback @X19│@X0F"
PrintLn " @X10│ @X1Everifier (Known lovingly as CBVers).@X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1EThe following is a DEMO of what it @X19│@X0F"
PrintLn " @X10│ @X1Ewill look like, this will show you @X19│@X0F"
PrintLn " @X10│ @X1Ehow things will look, after this @X19│@X0F"
PrintLn " @X10│ @X1Eyou can do the real thing (and it @X19│@X0F"
PrintLn " @X10│ @X1Eisn't that hard - Trust us!). @X19│@X0F"
PrintLn " @X10└@X19────────────────────────────────────────┘@X0F"
Print " "
Wait
Cls
:LABEL134
Cls
Delay (5 * 182) / 10
Newlines 5
Print "@X0ENow we are waiting for the word @X07RING @X0Eto appear - Keep watching!@X0F"
Delay (5 * 182) / 10
Backup 80
ClrEol
Print "@X0EOnce we do see the word we want to type @X07ATA@X0E (@X0Athen hit the enter key!@X0E)@X0F"
Delay (5 * 182) / 10
Backup 80
ClrEol
Print "@X0EWe have waited about half the normal time for a callback - Seems long eh?@X0F"
Delay (5 * 182) / 10
Backup 80
ClrEol
Print "@X0EQuick tip, put on your @X0BCAPS LOCK @X0Ekey now, so you don't have to remember!@X0F"
Delay (5 * 182) / 10
Backup 80
ClrEol
Print "@X0EHere it comes @X0A- @X0Edo not blink! @X0A- @X0EBut stay relaxed, roll your shoulders a bit!@X0F"
Delay (5 * 182) / 10
Cls
MdmFlush
KbdFlush
Newlines 1
PrintLn "@X07RING@X0F @X0E▌@X0AThere it is! Hard to beleive!@X0E ▌"
PrintLn " ▌@X0AQuick now, type in @X07ATA @X0Aand @X0E ▌@X0F"
PrintLn " @X0E▌@X0Atap the ENTER key. @X0E ▌@X0F"
Print " @X0E▌@X0CYou type what? @X8CGo ahead type it!@X0E▌@X0F"
Backup 80
InputStr "_", STRING016, 15, 4, Mask_Ascii(), 0
If (STRING016 == "ATA") Then
Cls
PrintLn " @X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn " @X10│ @X1A LoopBack v5.0 Tutorial @X19│@X0F"
PrintLn " @X10│ @X1D ────────────────────── @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1EAnd you thought this was going to be @X19│@X0F"
PrintLn " @X10│ @X1Edifficult! Now that you have seen @X19│@X0F"
PrintLn " @X10│ @X1Eexactly how easy it is, go give it a @X19│@X0F"
PrintLn " @X10│ @X1Etry, and remember two things: @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F1. @X1CRELAX! It will work! @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F2. @X1CWhen you see @X17RING @X1Cyou type @X17ATA @X1Cand @X19│@X0F"
PrintLn " @X10│ @X1Cfollow it up with a quick decisive @X19│@X0F"
PrintLn " @X10│ @X1Ctap on the enter key, you'll be @X19│@X0F"
PrintLn " @X10│ @X1Cjust fine! @X19│@X0F"
PrintLn " @X10└@X19────────────────────────────────────────┘@X0F"
Print " "
Wait
Cls
Else
Cls
PrintLn " @X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn " @X10│ @X1ALoopBack v5.0 Tutorial @X19│@X0F"
PrintLn " @X10│ @X1D────────────────────── @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1EHmmm, you have to type ATA and you @X19│@X0F"
PrintLn " @X10│ @X1Etyped@X1C ", STRING016, "@X1E. Maybe you made a simple@POS:61@@X19│@X0F"
PrintLn " @X10│ @X1Emistake? How about watching the live @X19│@X0F"
PrintLn " @X10│ @X1Edemo once more just so you can get a @X19│@X0F"
PrintLn " @X10│ @X1Efeel for how long it takes and such? @X19│@X0F"
PrintLn " @X10│ @X1E @X19│@X0F"
PrintLn " @X10│ @X1CJust Remeber This: @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F1.@X1B RELAX! It will work! @X19│@X0F"
PrintLn " @X10│ @X19│@X0F"
PrintLn " @X10│ @X1F2. @X1BWhen you see@X17 RING@X1B you type@X17 ATA @X1Band @X19│@X0F"
PrintLn " @X10│ @X1Bfollow it up with a quick decisive @X19│@X0F"
PrintLn " @X10│ @X1Btap on the enter key, you'll be @X19│@X0F"
PrintLn " @X10│ @X1Bjust fine! @X19│@X0F"
PrintLn " @X10└@X19────────────────────────────────────────┘@X0F"
PrintLn
InputStr "@X0EHow about seeing the live demo again @X0A(@X0CY@X0A/@X0Cn@X0A) _", STRING016, 15, 1, "YN", 0 + 8
If (STRING016 == "") Goto LABEL134
If (STRING016 == "Y") Goto LABEL134
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 17 Cls
; 4 ClrEol
; 23 Wait
; 18 Color
; 702 Goto
; 738 Let
; 42 Print
; 245 PrintLn
; 595 If
; 5 DispFile
; 6 FCreate
; 23 FOpen
; 2 FAppend
; 79 FClose
; 8 FGet
; 2 FPut
; 53 FPutLn
; 1 GetUser
; 7 PutUser
; 3 Delete
; 7 AdjTime
; 92 Log
; 9 InputStr
; 3 InputYN
; 213 Gosub
; 41 Return
; 5 PromptStr
; 1 DtrOn
; 1 DtrOff
; 4 CdChkOn
; 1 CdChkOff
; 49 Delay
; 2 SendModem
; 23 Inc
; 3 Dec
; 4 Newline
; 3 Newlines
; 1 Tokenize
; 1 GetToken
; 1 Shell
; 1 InputText
; 1 Call
; 13 Bye
; 5 KbdChkOn
; 1 KbdChkOff
; 41 OpText
; 78 DispStr
; 2 RdUNet
; 16 WrUNet
; 9 Backup
; 2 FreshLine
; 1 WrUSys
; 1 RdUSys
; 6 Message
; 2 SaveScrn
; 2 RestScrn
; 3 Sound
; 282 SPrint
; 33 SPrintLn
; 1 MPrint
; 2 MPrintLn
; 31 FSeek
; 39 FRead
; 41 FWrite
; 11 FDefIn
; 4 FDGet
; 69 FDRead
; 2 KbdFlush
; 1 MdmFlush
; 15 KeyFlush
; 2 Flag
; 2 Download
; 2 AdjDBytes
; 2 AdjTBytes
; 2 AdjTFiles
;
;
; ■ Functions used :
;
; 1 +
; 3 -
; 17 *
; 22 /
; 692 +
; 39 -
; 151 ==
; 66 <>
; 41 <
; 45 <=
; 7 >
; 74 >=
; 414 !
; 147 &&
; 62 ||
; 53 Len(
; 59 Upper()
; 58 Mid()
; 42 Left()
; 61 Space()
; 23 Ferr()
; 30 Chr()
; 4 Asc()
; 19 InStr()
; 21 Trim()
; 31 Date()
; 27 Time()
; 19 U_Name()
; 4 NoChar()
; 11 YesChar()
; 1 Replace()
; 79 Strip()
; 107 String()
; 1 Mask_Pwd()
; 3 Mask_Ascii()
; 4 PCBDat()
; 73 PPEPath()
; 29 PcbNode()
; 4 ReadLine()
; 8 OnLocal()
; 15 UN_Stat()
; 16 UN_Name()
; 12 UN_City()
; 2 GetToken()
; 3 MinLeft()
; 1 GetEnv()
; 2 CallId()
; 27 Exist()
; 19 S2I()
; 4 Carrier()
; 1 CDOn()
; 6 LangExt()
; 2 DefColor()
; 12 Psa()
; 32 FileInf()
; 7 PPEName()
; 3 KInkey()
; 6 TempPath()
; 3 MGetByte()
; 5 ToReal()
; 1 ToInt()
; 3 EvtTimeAdj()
; 2 FmtReal()
; 2 OutBytes()
; 5 InBytes()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WABMSCafdH
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
; B - Brute hangup ■ 1
; Program hangup without notification. This may be a good way to
; disconnect a user, but if used randomly, may be very nasty
; ■ Search for : HANGUP, DTROFF
;
; M - Send text to modem only ■ 4
; Some informations are sent only to the modem, not to the local
; screen, this is a well known way to make stealth backdoors, Check!
; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
; a - Adjust ratio ■ 4
; User's ratio is adjusted by changing the amount of files/bytes
; uploaded. This may be normal for a user editor.
; ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
;
; f - Flag files for download ■ 3
; This may be normal if a PPE needs to send some files, but since
; this statement allows flagging of any file on the hard disk, you
; have to be carefull. Check!
; ■ Search for : FLAG
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
; H - Read Password or Password History ■ 5
; Program is reading the user's password or last password history
; This may be ok for a password manager, but it is very suspect. Check!
; ■ Search for : U_PWDHIST, U_PWD
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 32 For/Next
; 27 While/EndWhile
; 260 If/Then or If/Then/Else
; 8 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------